TextBoxes中的绑定不起作用

时间:2011-03-11 07:41:09

标签: wpf binding

我在纯WPF窗口中创建了一个带有绑定的简单TextBox

<TextBox Name="MyTextBox"
         Focusable="True" Width="150"
         Text="{Binding MyText, UpdateSourceTrigger=PropertyChanged}"</TextBox>

我的问题是,在任何情况下都不会更新字符串属性'MyText'。如果我键入空格字符,则更新属性。如果我通过剪贴板将文本粘贴到TextBox中,则会更新属性MyText。但如果我输入任何其他角色,则没有任何反应。 我为TextChanged注册了一个事件处理程序以进行调试。该事件仅发生在空格字符和粘贴操作中,但不包含其他字符。

关于我的环境的一些话: WPF窗口可以被拆分为这个TextBox。我从DLL内部打开这个窗口。完整的项目目标是.Net2,由于WPF,现在面向Framework 3.5。 我不知道如何让这个更容易找到问题。

2 个答案:

答案 0 :(得分:5)

您提到了Framework 2.0。如果您的应用程序基于Windows窗体,则应记住一些互操作主题。在打开窗口之前,您是否尝试过以下操作:

System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(YourWindowObject)

否则尝试从WPF应用程序打开窗口。

答案 1 :(得分:1)

默认情况下,绑定模式是一种方式。这意味着它默认从属性加载,但不会设置。在绑定中添加“Mode = Twoway”(请参阅​​代码段),看看这是否可以解决您的问题。

<TextBox Name="MyTextBox"
     Focusable="True" Width="150"
     Text="{Binding MyText, Mode=Twoway, UpdateSourceTrigger=PropertyChanged}">
</TextBox>