• 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

VPS Starter Arubacloud
0 głosów
621 wizyt
pytanie zadane 17 kwietnia 2018 w C# 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 2018 przez NIMuser Stary wyjadacz (11,030 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 2018 przez jankustosz1 Nałogowiec (35,880 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ź 762 wizyt
pytanie zadane 23 października 2017 w Java przez RubyHuntsman Początkujący (270 p.)
0 głosów
2 odpowiedzi 935 wizyt
pytanie zadane 17 lipca 2015 w Ruby przez arnoldinho Nowicjusz (190 p.)
+1 głos
2 odpowiedzi 1,161 wizyt
pytanie zadane 9 sierpnia 2015 w C i C++ przez Mavimix Dyskutant (8,390 p.)

92,453 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...