Skip to content

Aplikacje Desktopowe - WPF

PODSTAWOWE ZNACZNIKI

<Button Click="Button_Click" tworzy funkcję kliknięcia przycisku (co się dzieje)
Name="przycisk" nazywa przycisk
Background="Aqua" kolor tła
BorderBrush="Aquamarine" kolor obramowania
Foreground="AliceBlue" kolor tekstu w przycisku
BorderThickness="2" grubość obramowania
Content="Przycisk 1" zawartość (tekst przycisku)
Height="100" wysokość
Width="300" szerokość
ClickMode="Hover" sposób kliknięcia (kiedy reagować)
Margin="10,10,10,5" margines zewnętrzny
Padding="5,5,5,5" margines wewnętrzny>
</Button>

<Label FontStyle="Italic" styl czcionki (np. pochylenie)
FontSize="25" wielkość czcionki
FontWeight="DemiBold" pogrubienie czcionki
Foreground="Beige" kolor czcionki
Name="tekst" nazwa
Content="Suma: " zawartość tekstu (co jest napisane>
</Label>

<TextBlock
TextWrapping="Wrap" zwijanie tekstu, kiedy nie ma miejsca w podanej szerokości
TextDecorations="Underline" dekoracja tekstu - np.podkreślenie>
</TextBlock>

<Slider Value="20" wartość domyślna
Maximum="300" wartość maksymalna
Minimum="10" wartość minimalna
TickFrequency="5" częstotliwość oznaczeń slidera
IsSnapToTickEnabled="True" czy przyjmuje jedynie wartości z "tick"
TickPlacement="Both" umieszczenie oznaczeń slidera
ValueChanged="Slider_ValueChanged" funkcja zmieniania wartości
LostFocus="Slider_LostFocus" funkcja odpala się kiedy przeklikamy na inny obiekt>
</Slider>

<RadioButton></RadioButton jednokrotny wybór>

<CheckBox></CheckBox wielokrotny wybór>

<TextBox></TextBox wprowadzanie tekstu>

<PasswordBox></PasswordBox wprowadzanie hasła>

<DatePicker></DatePicker pole wyboru daty>

<ListBox></ListBox lista>

<ComboBox>
<ComboBoxItem>przedmiot 1</ComboBoxItem> zawartość listy
</ComboBox lista rozwijana>

STYLE W APLIKACJI/ OKNIE

<Style TargetType=”” x:Key=””>
<Setter Property=”” Value=””></Setter>
</Style>
TargetType - obiekt którego styl chcemy zmieniać (np. TextBox)
x:Key - unikatowy identyfikator elementów. Możemy zmienić styl obiektów danego typu o tym samym kluczu co podany
Property - właściwość (np. Width, Background)
Value - wartość właściwości (np. 20, “Black”)
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="Gray" />
<Setter Property="FontSize" Value="24" />
</Style>

Dodawanie styli w oknie

<Window.Resources>
<Style x:Key="HeaderStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="Gray" />
<Setter Property="FontSize" Value="24" />
</Style>
</Window.Resources>
<StackPanel Margin="10">
<TextBlock>Header 1</TextBlock>
<TextBlock Style="{StaticResource HeaderStyle}">Header 2</TextBlock>
<TextBlock>Header 3</TextBlock>
</StackPanel>

PROGRAMOWANIE PODSTAWOWYCH FUNKCJI

Zmiana zawartości napisu w aplikacji

int cena1 = 10;
nazwa.Content = $"Cena: {cena1} zł";

Wyświetlanie komunikatów i dodawanie im różnych cech

MessageBox.Show("Komunikat", "Tytuł", MessageBoxButton.YesNoCancel,
MessageBoxImage.Question, MessageBoxResult.Yes);

Widzialność obiektów - zmiana widzialności

Widzialność zmieniamy za pomocą cechy ‘Visibility’, którą możemy modyfikować w kodzie C# przy różnych zdarzeniach. Visibility może przyjąć 3 wartości:
Visible
Collapsed
Hidden
private void Button_Click(object sender, RoutedEventArgs e)
{
if(przykladowy_napis.Visibility == Visibility.Visible)
{
przykladowy_napis.Visibility = Visibility.Collapsed;
}
else
{
przykladowy_napis.Visibility = Visibility.Visible;
}
}
MessageBox.Show("Komunikat", "Tytuł", MessageBoxButton.YesNoCancel,
MessageBoxImage.Question, MessageBoxResult.Yes);
t_box.BorderBrush = Brushes.Red;
t_box.IsEnabled = false;
int cena1 = 10;
nazwa.Content = $"Cena: {cena1} zł";

Zmiana koloru obramowania/ blokowanie textboxa

t_box.BorderBrush = Brushes.Red;
t_box.IsEnabled = false;

ZDARZENIA W APLIKACJI

Dla Button’a
Click → kliknięcie
MouseEnter → najechanie myszką na przycisk
MouseLeave → opuszczenie guzika myszką
Dla TextBox’a
TextChanged → zmiana wprowadzanego tekstu
LostFocus → kiedy pole traci skupienie (przeklikujemy na coś innego)
GotFocus → kiedy skupiamy się na polu
KeyDown → wpisywanie klawiszy
KeyUp → puszczanie klawiszy
Dla PasswordBox’a
PasswordChanged → zmiana wprowadzanego tekstu
LostFocus → kiedy pole traci skupienie (przeklikujemy na coś innego)
GotFocus → kiedy skupiamy się na polu
Dla CheckBox’a/Radiobuton’a
Click → kliknięcie (nie używane na ogół)
Checked → zaznaczono
Unchecked → odznaczono

Binding - łączenie przypisywania wartości między obiektami

<DockPanel VerticalAlignment="Center" Margin="10">
<TextBox Text="{Binding ElementName=slValue, Path=Value, UpdateSourceTrigger=PropertyChanged}" DockPanel.Dock="Right" TextAlignment="Right" Width="40" />
<Slider Maximum="255" TickPlacement="BottomRight" TickFrequency="5" IsSnapToTickEnabled="True" Name="slValue" />
</DockPanel>
ElementName = nazwa elementu którego dane chcemy powielać
Path= jakie dane chcemy powielać z podanego elementu (Value, Content a może text)
UpadteSourceTrigger = kiedy wartość ma się aktualizować

ZAPIS I ODCZYT DANYCH DO .TXT

StreamReader - odczyt danych z pliku txt
StreamReader reader = new StreamReader("plik.txt");
string linia;
while ((linia = reader.ReadLine()) != null)
{
Console.WriteLine(linia);
}
StreamWriter - zapis danych do pliku txt
StreamWriter writer new StreamWriter("dane.txt", true);
string tekst = "abcdefg";
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.