C# Uz sākumu

Windows Presentation Foundation

Protams ka Windows vidē visslābāk strādāt izmantojot Microsoft Visual Studio, bet iesācējam var gadīties grūtības ieraugot kodu, kas ir padalīts vairākos failos un ne visi faili ir redzami. Lai atvieglot sev dzīvi var pamēģināt sakumā uztaisīt vairākus nelielus projektus “ar rokam”. Protams rakstīšanas būs ļoti daudz, bet tai pašā laikā būs vieglāk saprast “kas un ko”.

Minimālais WPF projekts sastāv no 5 failiem, plus palaižamais skripts “build.bat”. Kopā būs 6 faili.

1. build.bat
2. nosaukums.csproj
3. App.xaml
4. App.xaml.cs
5. MainWindow.xaml
6. MainWindow.xaml.cs

Fails build.bat nav obligāts, tas ir vajadzīgs lai katru reizi nevajadzētu rakstīt ar rokam garu kompilēšanas komandu. Komanda ir:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild nosaukums.csproj

Bet ja jums ir nokonfigurēti vides mainīgie, tad pietiks ar msbuild nosaukums.csproj

Tagad projekta fails:

nosaukums.csproj

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
	<AssemblyName>Nosaukums</AssemblyName>
	<OutputType>winexe</OutputType>
	<ApplicationIcon>app_ico.ico</ApplicationIcon>
</PropertyGroup>

<ItemGroup>
	<Reference Include="System" />
	<Reference Include="WindowsBase" />
	<Reference Include="PresentationCore" />
	<Reference Include="PresentationFramework" />
	<Reference Include="System.Data" />
	<Reference Include="System.Linq" />
</ItemGroup>

<ItemGroup>
	<ApplicationDefinition Include="App.xaml" />
	<Compile Include="App.xaml.cs" />
	<Page Include="MainWindow.xaml" />
	<Compile Include="MainWindow.xaml.cs" />
</ItemGroup>

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />

</Project> 
Mēs varam mainīt:

AssemblyName - Mūsu “gala produkta” nosaukums. Nav svarīgi kā mēs nosauksim mūsu projektu vai “csproj” failu, “exe” saņems vārdu no šī ieraksta. Projektu var atstāt tā kā ir.
ApplicationIcon - ikona. Ja tādas nav, var atstāt tukšo vietu [nav obligāti].

App.xaml

<Application x:Class="wMain.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>

    </Application.Resources>
</Application>
Iesācējā līmenī kaut ko mainīt nav vēlams [not recommended].
App.xaml.cs

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;

namespace wMain
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
	///[STAThread]
    public partial class App : Application
    {
    }
}
Šeit arī neko nemaina.
MainWindow.xaml

<Window x:Class="wMain.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Nosaukums" 
		Height="400" 
		Width="700" 
		WindowStartupLocation="CenterScreen">
		<Grid>
			
			<Button Name="btn_Exit" 
					Content="Aizvērt" 
					HorizontalAlignment="Right" 
					VerticalAlignment="Bottom" 
					Margin="10,10,10,10" 
					Width="75" 
					ToolTip="Iziet no programmas" 
					Click="btn_Exit_Click">
			</Button>
				
		</Grid>
</Window>
Tagā “Window” mēs ierakstām loga virsrakstu (Nosaukums), augstumu (400), platumu (700) un pasakām kā logam jābūt ekrānā centrā. Tagā “Button” ierakstām izskata parametrus un uzradam, kā pēc notikuma “Click” jāizsauc funkciju “btn_Exit_Click”. Pogas (“Button”) vārdu var izvēlēties jebkādu un funkcijas nosaukumu arī.
MainWindow.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;

namespace wMain
{
    /// 
    /// Interaction logic for MainWindow.xaml
    /// 
    public partial class MainWindow : Window
    {
		
		private void btn_Exit_Click(object sender, RoutedEventArgs e)
		{
			//Iziet no programmas  
			Application.Current.Shutdown();
		}
		
    }
	
}
Šeit izpildās funkcija “btn_Exit_Click”, kas iziet no programmas.

Visus failus var sarakstīt bloknotā (Notepad) un saglabāt ar atbilstošiem failu paplašinājumiem. “Gatava produkcija” būs “bin\Debug” tai pašā mapē, kur saglabāsiet projektu.

Jersikas pamatskola 2014.