Команда привязки к кнопке в Silverlight 4 с помощью mvvm - PullRequest
0 голосов
/ 19 мая 2010

У меня есть пользовательский элемент управления 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? Спасибо.

1 Ответ

2 голосов
/ 20 мая 2010

Как сказал Арчи, установите для 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>
...