Niedawno zdałem sobie sprawę, że wzorzec MVVM jest tak przydatny dla aplikacji Silverlight i studiując, w jaki sposób zastosować go w moim projekcie.Jak podłączyć TextCox zdarzenia TextChanged i Command w celu użycia wzorca MVVM w Silverlight
BTW, jak podłączyć tekst w polu tekstowymChanged zdarzenia z Command? Istnieje właściwość Command dla Button, jednak Textbox nie ma właściwości commapd. Jeśli elementy sterujące nie mają właściwości command, jak połączyć ICommand i zdarzenia Control?
Mam następujący kod 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>
Co staram się robić to, że jeśli dane wejściowe użytkownika jakiś tekst w polu tekstowym, dane zostaną przedstawione w DataGrid zamiast korzystania z przycisków. Wiem, że wbudowana jest wbudowana kontrolka autocomplete. Jednak chcę wiedzieć, jak wywołać właściwość Command w klasie ViewModel w formantach, które nie mają właściwości Command, takich jak textbox.
Dzięki
Po zbadaniu kilka godzin, aby rozwiązać ten problem, znalazłem MvvmLightToolkit (h ttp: //mvvmlight.codeplex.com/) Ułatwia korzystanie z MVVM. Dziękuję wszystkim jeszcze raz. – Ray
To [link] (http://stackoverflow.com/questions/20089739/wpf-mvvm-textbox-text- binding-vs-changedtext-event) jest lepszym rozwiązaniem dla UpdateSourceTrigger = PropertyChanged – dammel288