• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# Aplikacja okienkowa i autoodświeżanie

0 głosów
59 wizyt
pytanie zadane 17 kwietnia w C# i .NET przez KtoPyta... Początkujący (280 p.)
Witam. Chcę napisać w C# aplikację okienkową (WPF w Visual Studio). Mam jednak dwa pytania:

1) Jak powiązać funkcję z checkboxami i listami? Chciałbym, by  po kliknięciu w checkbox pojawiała się lista, z któej można wybrać obiekt, który po kliknięciu wyświetla pewne rzeczy z klasy.

2) Da się zrobić autoodświeżanie? A więc, by wszystko robić w czasie rzeczywistym. Np. klikam checkbox 1, pokazuje się lista A. Wybieram z niej pierwszy obiekt, wczytuje się jego cecha, np. liczba "189". Następnie klikam sobie drugi obiekt tej listy i "189" zostaje zastąpione przez "214".

 

Z góry dzięki za odpowiedzi :)

2 odpowiedzi

+1 głos
odpowiedź 17 kwietnia przez NIMuser Gaduła (3,340 p.)

Nie znam WPF, działałem trochę ale w WinForms. WinForms są starsze, ale mają kilka zalet - główna to szybciej tworzy się GUI.

 

Ad. 1 W WPF wygląda mniej więcej tak:

<CheckBox Checked="CheckBoxChanged" Unchecked="CheckBoxChanged"/>

poniżej kod obsługujący zdarzenie CheckBoxChanged:

private void CheckBoxChanged(object sender, RoutedEventArgs e)
{
  MessageBox.Show("CheckBox kliknięty!");
  // tu działasz ze swoją listą
}

Ad. 2) Tak, da się.

Tu masz takie ABC z ListView:

http://www.wpf-tutorial.com/listview-control/simple-listview/

https://stackoverflow.com/questions/15865829/add-items-to-columns-in-a-wpf-listview

Wiele nie pomogłem, ale WPF to nie moja bajka

+1 głos
odpowiedź 17 kwietnia przez jankustosz1 Stary wyjadacz (12,990 p.)
Poczytaj sobie o MVVM. W WPF robi się bindowanie danych, jest to lepsze niż w WinForms bo w WinForms często dane się duplikuje np. checked w checkboxie i jakiś bool w klasie. Jeżeli nie wiesz jak to się robi to musisz poszukać po internecie, innego sposobu nie ma bo to sporo wiedzy.

1)Możesz np. zrobić Command czyli taki mądry obiekt któremu dajesz 2 metody. Pierwsza zwraca bool'a i mówi czy kontrolka jest możliwa do kliknięcia i druga co ma się stać po kliknięciu. Możesz też ewentualnie korzystać z eventów jak w WinForms ale lepiej korzystać z MVVM.

2)Gdyby się nie dało to po co by takie coś robili :D  WPF ma dużo większe możliwości przebudowy kontrolek od WinForms bez konieczności tworzenia nowych.

Podobne pytania

0 głosów
1 odpowiedź 187 wizyt
0 głosów
2 odpowiedzi 482 wizyt
pytanie zadane 17 lipca 2015 w Ruby, Ruby On Rails przez arnoldinho Nowicjusz (190 p.)
+1 głos
2 odpowiedzi 775 wizyt
pytanie zadane 9 sierpnia 2015 w C i C++ przez Mavimix Gaduła (4,520 p.)
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).
Ciekawy innych porad? Odwiedź tę stronę!

48,556 zapytań

90,186 odpowiedzi

181,559 komentarzy

23,506 pasjonatów

Przeglądających: 182
Pasjonatów: 12 Gości: 170

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...