Skip to content

Instantly share code, notes, and snippets.

@pjastr
Last active February 4, 2018 20:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save pjastr/ad0662ec5e9ea79f340aeaba8da40b64 to your computer and use it in GitHub Desktop.
Save pjastr/ad0662ec5e9ea79f340aeaba8da40b64 to your computer and use it in GitHub Desktop.

1.Stwórz nowy projekt.

  • W gridzie umieść ComboBox.
  • Za pomocą PPM dodaj kilka itemów na listę rozwijaną.
  • Dwukrotnie kliknij na listę i dodaj eventy po wybraniu odpowiedniej opcji.
  • Stwórz nowy projekt. Stworzymy to samo bez designera.
  • Wewnątrz grid dodaj kod:
<ComboBox  HorizontalAlignment="Center"  Margin="10,10,0,0"  VerticalAlignment="Top"  Width="200" 
Loaded="ComboBox_Loaded" SelectionChanged="ComboBox_SelectionChanged"/>
  • Ustaw kursor na Combox_Loaded i wciśnij F12. VS utworzy automatycznie odpowiednią metodę. We wnętrzu wpisz:
// ... lista
 List<string> data = new List<string>();
 data.Add("Book");
 data.Add("Computer");
 data.Add("Chair");
 data.Add("Mug");
 // ... ustawienie referencji
 var comboBox = sender as ComboBox;
 // ... ustawienie zródla
 comboBox.ItemsSource = data;
 // ... czy cos domyslnie ma byc wybrane
 comboBox.SelectedIndex = 0;
  • zrób tak samo aby utworzyć metodę ComboBox_SelectionChanged, we wnętrzu wpisz:
// ... dostep do combo.
 var comboBox = sender as ComboBox;
 // ... ustawiemy wybraną opcję jako tytul okna
 string value = comboBox.SelectedItem as string;
 this.Title = "Selected: " + value; 
  • Która metoda jest dla Ciebie lepsza, wygodniejsza, bardziej elastyczna?
  1. Stwórz nowy projekt. Z pomocą designera upuść dwa przyciski. W oknie Properties naciśnij „piorunek” i w polu Click wpisz Button_Click (to samo dla obu przycisków). We wnętrzu metody Button_Click wpisz przykładowy kod:
Button btn = sender as Button;
btn.Content += "x"; 
  1. Stwórz nowy projekt WPF.
  • Dodaj w nim klasę Osoba z polami imie(string), nazwisko(string), dataUrodzenia(DateTime) - mod private.
  • Dodaj w tej klasie konstruktor domyślny (pusty).
  • W klasie Osoba dodaj metodę na ustawienie jednocześnie imienia, nazwiska i daty urodzenia.
  • W klasie Osoba dodaj metodę ObliczWiek() zwracającą typ int, który z daty urodzenia oblicza wiek.
  • W klasie Osoba przesłoń metodę ToString() aby zwracała imie, nazwisko, datę urodzenia oraz wiek w kolejnych wierszach (z użyciem metody oblicz wiek).
  • W MainWindows dodaj 3 etykiety (Label), 3 pola tekstowe (TexBox), 1 przycisk (buton), 1 blok tekstowy(TextBlock). Cel: pobranie danych do stworzenia osoby, a potem wyświetlenie.

win

  • W klasie MainWindow dodaj prywatne pole osoba typu Osoba i zainicjuj obiekt. np. private Osoba osoba = new Osoba(); (kod najlepiej dodać we wnętrzu klasy MainWindow a przed konstruktorem w tej klasie).
  • Dodaj event po kliknięciu, metoda ma wykonywać następujące czynności:
  • ustawić parametry obiektu Osoba z pobranych wartości z pól tekstowych

  • należy zamienić string z Textboxa od daty na typ DateTime (w przypadku błędnego formatu ma być komunikat dla użytkownika np. za pomocą MessageBox) - podpowiedz: możesz użyć Convert.ToDateTime, DateTime.Parse lub DateTime.ParseExact

  • We właściwości Text kontrolki TextBlock podstawić stringa, który będzie zwrócony po wywołaniu dla obiektu osoba metody ToString().
  1. Stwórz nowy projekt. Stworzymy program z mechanizmem chowania i pokazywania kontrolek. Na okno designera upuść dwa butony i nadaj im nazwy Przycisk1 i Przycisk2.
  • We wnętrzu metody Przycisk1_Click dodaj następująco kod:
Przycisk1.Visibility = Visibility.Hidden;
Przycisk2.Visibility = Visibility.Visible;

We wnętrzu metody Przycisk2_Click dodaj następująco kod:

Przycisk2.Visibility = Visibility.Hidden;
Przycisk1.Visibility = Visibility.Visible;

zaś w konstruktorze MainWindow dodaj linijkę:

Przycisk2.Visibility = Visibility.Hidden; 
  • w kodzie XAML do Windows dodaj parametr ResizeMode="NoResize".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment