我有以下情况:
<TextBox Text="{Binding Settings.ClientName, UpdateSourceTrigger=PropertyChanged}"/>
问题是,如果我输入任何文本,插入符号似乎跳转到文本框中的第一个位置,实际上反转我输入的任何字符串。 “abcd”变成“dcba”
我注意到在迁移到Net 4.0后出现了这种情况。
那里有什么好的解决方案吗? 非常感谢
答案 0 :(得分:0)
没有内置行为可以做到这一点。这个问题可能来自你的处理。
另外,如果您希望TextBox从代码隐藏和用户输入更改,您希望将其设置为双向:
<TextBox Text="{Binding Settings.ClientName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
修改强>
您还可以将ClientName设置为依赖项属性(vs2010中的propdp代码段)。这将自动完全支持绑定(/样式/动画),并使您可以在值更改时执行操作,并通过回调代理将其强制回来。
最后但同样重要的是,您仍然不需要设置类来实现INotifyPropertyChanged
Here是一个可以开始的地方(msdn)。
答案 1 :(得分:0)
我怀疑您在WPF TextBox中遇到此行为更改:https://connect.microsoft.com/VisualStudio/feedback/details/588343/changed-behaviour-from-net-3-5-to-net-4-0-of-wpf-textbox-formatting-when-propertychanged-is-used-as-updatesourcetrigger(当PropertyChanged用作UpdateSourceTrigger时,将.Net 3.5的行为更改为WPF TextBox格式的.Net 4.0)