我们可以将TextBox绑定到MVVM的OnTextChangedEvent吗?

时间:2009-09-25 15:19:50

标签: silverlight-3.0 mvvm

我们正在使用MVVM,并且在View的C#文件中不需要任何内容​​。我们有一名设计师,并且不想教他们如何编写C#。

我们有一个文本框,里面有文字。似乎有必要将OnTextChangedEvent放在我们的VM中。 (我们将文本绑定到VM中的字符串,但它没有做我们需要它做的所有事情)。

基本上我们想通过绑定到VM中的OnTextChangedCommand(或其他东西)来获取此代码并摆脱代码隐藏:

这就是我们所拥有的:

    <TextBox 
    x:Name="MyTextBox"
    Text="{Binding Path=SomeVariable, Mode=TwoWay}"/>

在c#代码隐藏

MyTextBox.TextChanged += vm.OnTextChanged;

这就是我们想要的:

    <TextBox 
    x:Name="MyTextBox"
    Text="{Binding Path=SomeVariable, Mode=TwoWay}"
    TextChanged="{Binding OnTextChanged}"/>

并且c#代码隐藏

中没有任何内容

1 个答案:

答案 0 :(得分:0)

您需要UpdateSourceTrigger功能(Silverlight 2中不可用)。

如果您使用的是SL 2,请查看此article有关解决方法。