小编Hik*_*ari的帖子

MVVM Light太快了:)

我有一个简单的WM7页面TextBox.更进一步,我指定EventToCommand(a RelayCommand<string>)对此事件TextBox作出反应TextChanged.为了测试pourposes我TextBox_TextChanged在页面的代码后面做了另外的方法.命令和TextBox_TextChanged打印带有文本框内容的消息框.

初始值TextBox"ABC".然后我按下D和:

  1. TextBox_TextChanged打印ABCD.
  2. 命令打印ABC.D缺失了.

为什么命令这么快?

命令声明:

public RelayCommand<string> TextChanged {get; private set;}
Run Code Online (Sandbox Code Playgroud)

命令初始化:

TextChanged = new RelayCommand<string>((s) => MessageBox.Show(s));
Run Code Online (Sandbox Code Playgroud)

命令绑定:

<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>
Run Code Online (Sandbox Code Playgroud)

silverlight command mvvm windows-phone-7 mvvm-light

4
推荐指数
1
解决办法
4716
查看次数

标签 统计

command ×1

mvvm ×1

mvvm-light ×1

silverlight ×1

windows-phone-7 ×1