Привязка команды к кнопке в silverlight 4 с использованием mvvm

У меня есть пользовательский элемент управления HomePage.xaml. Я создаю экземпляр модели (используя шаблон MVVM) в коде за файлом в конструкторе страницы как

MainViewModel model = new MainViewModel();

У меня есть кнопка в HomePage.xaml, которую я хочу привязать к команде внутри MainViewModel, называемой GetData(), и хочу заполнить данные в сетке данных. MainViewModel имеет ObservableCollection, который я бы использовал для привязки данных в сетке данных.

Заполнение данных в сетке данных без команды привязки работает нормально.

Связываю кнопку как:

<StackPanel x:Name="stkPanelInput" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button x:Name="buttonGetData" Width="70" Content="GetData" Command="{Binding GetData}"  Click="buttonGetData_Click"/>
</StackPanel>

Как связать команду с помощью MVVM?


person Archie    schedule 19.05.2010    source источник


Ответы (1)


Как сказал Арчи, установите DataContext вашей страницы на экземпляр вашей MainViewModel.

DataContext = model;

Тогда ваш XAML будет выглядеть так:

<StackPanel x:Name="stkPanelInput" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button x:Name="buttonGetData" Width="70" Content="GetData" Command="{Binding GetDataCommand}"  Click="buttonGetData_Click"/>
</StackPanel>
person Ray Booysen    schedule 20.05.2010