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?
- 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";
- Stwórz nowy projekt WPF.
- Dodaj w nim klasę
Osoba
z polamiimie(string)
,nazwisko(string)
,dataUrodzenia(DateTime)
- modprivate
. - 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ą typint
, 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.
- 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
lubDateTime.ParseExact
- We właściwości
Text
kontrolkiTextBlock
podstawić stringa, który będzie zwrócony po wywołaniu dla obiektu osoba metodyToString()
.
- Stwórz nowy projekt. Stworzymy program z mechanizmem chowania i pokazywania kontrolek. Na okno designera upuść dwa butony i nadaj im nazwy
Przycisk1
iPrzycisk2
.
- 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"
.