Windows phone 8 Mvvm如何使用TextChanged方法获取值txtNmItem

Windows phone 8 Mvvm如何使用TextChanged方法获取值txtNmItem,windows-phone-8,mvvm-light,Windows Phone 8,Mvvm Light,如何使用TextChanged方法获取值txtNmItem <TextBox Grid.Column="1" Name="txtNmItem" Background="#f3f3f3" BorderBrush="#f3f3f3" VerticalAlignment="top" Text="{Binding Path=sNmItem, Mode=TwoWay}"> <i:Interaction.Tri

如何使用TextChanged方法获取值txtNmItem

<TextBox Grid.Column="1" Name="txtNmItem" Background="#f3f3f3" BorderBrush="#f3f3f3" VerticalAlignment="top" Text="{Binding Path=sNmItem, Mode=TwoWay}">
                                        <i:Interaction.Triggers>
                                            <i:EventTrigger EventName="TextChanged">
                                                <cmd:EventToCommand Command="{Binding ElementName=ListaItem,Path=DataContext.SalvarCommand}" PassEventArgsToCommand="True"/>
                                            </i:EventTrigger>
                                        </i:Interaction.Triggers>
                                    </TextBox>

视图模型

public RelayCommand<object> SalvarCommand { get { return new RelayCommand<object>(Salvar); } }

private async void Salvar(object e)
    {
public ICommand SalvarCommand
{
  get {
    return new RelayCommand<string>((param) =>
    {
      ...
    });
  }
}
public RelayCommand SalvarCommand{get{返回新的RelayCommand(Salvar);}
专用异步void Salvar(对象e)
{

我假设您需要更改文本,因为绑定值只有在控件失去焦点后才会更新。您需要在用户键入时更新属性

这可能有助于:

看法



首先绑定文本时,为什么要添加TextChanged事件?可以通过检查绑定属性获取值。
public ICommand SalvarCommand
{
  get {
    return new RelayCommand<string>((param) =>
    {
      ...
    });
  }
}