Недавно я понял, что шаблон MVVM настолько полезен для приложения Silverlight и изучает, как его использовать в моем проекте.
Кстати, как подключить текстовое поле textChanged событие с помощью команды? Для Button есть свойство Command, но Textbox не имеет свойства commapd. Если элементы управления не имеют свойства команды, как объединить ICommand и событие Control?
Я получил следующий код xaml
<UserControl.Resources>
<vm:CustomerViewModel x:Key="customerVM"/>
</UserControl.Resources>
<Grid x:Name="LayoutRoot"
Background="White"
DataContext="{Binding Path=Customers, Source={StaticResource customerVM}, Mode=TwoWay}" >
<StackPanel>
<StackPanel Orientation="Horizontal"
Width="300"
HorizontalAlignment="Center">
<TextBox x:Name="tbName"
Width="50"
Margin="10"/>
<Button Width="30"
Margin="10"
Content="Find"
Command="{Binding Path=GetCustomersByNameCommand, Source={StaticResource customerVM}}"
CommandParameter="{Binding Path=Text, ElementName=tbName}"/>
</StackPanel>
<sdk:DataGrid ItemsSource="{Binding Path=DataContext, ElementName=LayoutRoot}"
AutoGenerateColumns="True"
Width="300"
Height="300"/>
</StackPanel>
</Grid>
Что я пытаюсь сделать, так это то, что если пользователь вводит какой-либо текст в текстовое поле, данные будут отображаться в datagrid, а не при нажатии кнопки. Я знаю, что есть встроенный блок управления автозаполнением. Однако я хочу знать, как вызвать свойство Command в классе ViewModel в элементах управления, которые не имеют свойства Command, такого как текстовое поле.
Спасибо