0

我有一个具有以下绑定的文本框:

<TextBox Binding={Path=MyStr, Mode=TwoWay}>

我的问题是绑定仅在文本框失去焦点时触发,而不是针对用户输入的每个字符。

文本框还有一个可以正确触发的 OnTextInput 函数,但是如何在后面的代码中激活绑定?

*我宁愿以纯粹的 mvvm 方式来做(如果可能的话,不要使用窗口的代码)

任何答案都将被接受 mvvm 与否。

4

3 回答 3

3

这里:

<TextBox Text="{Binding Path=MyStr, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

现在您的绑定属性将在每个字符上更改。

于 2013-04-16T13:20:12.590 回答
1

您可以使用 updatesource 触发器并将其设置为属性已更改

<Binding Source="{StaticResource myDataSource}" Path="Name"
         UpdateSourceTrigger="PropertyChanged"/>

更改的那一刻,它会将更新后的值发送回您的 DataContext

在 msdn 上:http:
//msdn.microsoft.com/en-us/library/system.windows.data.updatesourcetrigger.aspx

于 2013-04-16T13:20:10.783 回答
0

有一个名为 PropertyChanged 的​​ UpdateSourceTrigger,如果您在更改文本框的文本时将其用作更新触发器,它将触发,并且在您的绑定属性设置器中,您可以执行文本更改时需要执行的任何操作。

<TextBox Text="{Binding Path=Text,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
于 2013-04-16T15:07:29.167 回答