[WPF] projekt typu Model-View a jak wołać zlicznie gałęzi drzewka

0

Mam projekt typu Views-Models-ViewModels
Mam:

public ObservableCollection<TreeNode> TreeCollection { protected get; set; }
public ObservableCollection<ListItem> ListCollection { protected get; set;

w namespace ListBoxDragDrop.ViewModels.

Dodałem buttony "Count" and i textboxy
Metoda Button_Click hjest w klasie MainWindow : Window w namespace ListBoxDragDrop.Views podczas gdy funkcja do zliczania była by w klasie MainWindowViewModel w namespace ListBoxDragDrop.ViewModels.
Jak wywołać ja z Button_Click? Czy nie da się w kodzie i znowu muszę działać z xamlem?

Dołączam projekt na Disk Google: https://drive.google.com/file/d/0B7E799YMGCWTaHp4WjlFMlRBeUU/view?usp=sharing

1

Ładnie? Button_Click powinien być zbindowany do odpowiedniej komendy we ViewModelu i to ViewModel powinien ustawiać jakieś property, które się będzie bindować z miejscem, w którym chcesz wyświetlić wynik.

Brzydko, ale działa? W twojej klasie widoku możesz odwołać się do DataContext swojego okna i zrzutować na typ ViewModelu i będziesz miał do niego dostęp:

var viewModel = this.DataContext as MainWindowsViewModel;

Nie wiem skąd jest ten projekt, ale w C# zasadniczo nie robi się metod postaci getCośtam(), tylko używa właściwości, tak totalnie nawiasem.

0

Tu jest dobrze opisane: https://msdn.microsoft.com/pl-pl/library/wprowadzenie-do-wzorca-projektowego-model-view-viewmodel-na-przykladzie-aplikacji-wpf.aspx?f=255&MSPPError=-2147217396 zrobiłem w xamlu: (a resztę według artykułu)

TextBox:Text="{Binding TreeCounter}" 
Button: Command="{Binding CountTreeCmd}"

Automatycznie TreeCounter przekonwertował mi z inta na stringa

1 użytkowników online, w tym zalogowanych: 0, gości: 1