Collapsed时,Silverlight文本框不会触发TextChanged

时间:2013-07-21 10:03:41

标签: silverlight textbox textchanged

我在Silverlight 5中有一个TextBox,我在Code中设置Text值。当文本框可见性可见时,它将触发TextChanged事件,但只要您将其设置为折叠,它就不会再触发。

有没有人有这方面的经验?我找到了1 site,其中有人也经历过这个问题但从未得到过回答。

如果关闭,我会实施临时黑客手动触发,但如果我无法解决问题,我需要重新编写大部分代码以完全使用不同的路径。

由于

2 个答案:

答案 0 :(得分:0)

如果控件的可见性设置为Collapsed,则不会触发事件。 Silverlight中没有隐藏的可见性。但你可以设置Opacity = 0使其隐藏。你也想在你设置Opacity = 0的元素上将IsHitTestVisible设置为false,否则用户仍然可以点击它,即使它们意味着点击一些底层元素。事件将在那时开始。

<TextBox  TextChanged="textBox1_TextChanged" x:Name="txt" Opacity="0" IsHitTestVisible="False"/>

或者你必须明确地发射它。

答案 1 :(得分:0)

如果我没有弄错的话,实际上IsHitTestVisible="False"意味着TextChanged事件也不会被解雇。

所以只需要Opacity="0"而不是Collapsed的可见性(您也可以使TextBox变小,以进一步确保它永远不会被击中:)