.を持つ単純な WM7 ページがありTextBox
ます。さらに、イベントに反応してEventToCommand
(a RelayCommand<string>
) を thisに割り当てました。目的をテストするために、ページの分離コードに追加のメソッドを作成しました。コマンドとテキストボックスの内容を含むメッセージボックスを出力します。TextBox
TextChanged
TextBox_TextChanged
TextBox_TextChanged
の初期値はTextBox
です"ABC"
。次に、D を押します。
TextBox_TextChanged
印刷しABCD
ます。- コマンドは を出力し
ABC
ます。D がありません。
コマンドが速いのはなぜですか?
コマンド宣言:
public RelayCommand<string> TextChanged {get; private set;}
コマンドの初期化:
TextChanged = new RelayCommand<string>((s) => MessageBox.Show(s));
コマンドバインディング:
<TextBox x:Name="SearchTextBox" Margin="10,0" TextWrapping="Wrap" Text="{Binding SearchString, Mode=TwoWay}" FontStyle="Italic" TextChanged="SearchTextBox_TextChanged" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="TextChanged">
<GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding TextChanged, Mode=OneWay}" CommandParameter="{Binding Text, ElementName=SearchTextBox}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>