我在 Silverlight 5 中有一个 TextBox,我在其中从代码中设置文本值。当 Textbox Visibility 为 Visible 时,它将触发 TextChanged 事件,但一旦您将其设置为 Collapsed,它就不再触发。
这个事情谁有经验?我找到了 1 个站点,其中有人也遇到过此问题,但从未得到答复。
如果关闭,我将实施一个临时黑客手动触发,但如果我无法解决问题,我将需要重新编写大部分代码以完全使用不同的路径。
谢谢
我在 Silverlight 5 中有一个 TextBox,我在其中从代码中设置文本值。当 Textbox Visibility 为 Visible 时,它将触发 TextChanged 事件,但一旦您将其设置为 Collapsed,它就不再触发。
这个事情谁有经验?我找到了 1 个站点,其中有人也遇到过此问题,但从未得到答复。
如果关闭,我将实施一个临时黑客手动触发,但如果我无法解决问题,我将需要重新编写大部分代码以完全使用不同的路径。
谢谢
如果我没记错的话,实际上 makeIsHitTestVisible="False"
意味着该TextChanged
事件也不会被触发。
因此,所需要Opacity="0"
的不是Collapsed
可见性(您也可以制作TextBox
一个很小的尺寸以进一步确保它永远不会被击中:)
如果控件的可见性设置为 Collapsed,则不会触发事件。Silverlight 中没有隐藏可见性。但是您可以设置 Opacity=0 以使其隐藏。您还需要在已设置 Opacity=0 的元素上将 IsHitTestVisible 设置为 false,否则用户仍然可以单击它,即使他们的意思是点击一些底层元素。该事件将触发。
<TextBox TextChanged="textBox1_TextChanged" x:Name="txt" Opacity="0" IsHitTestVisible="False"/>
或者您必须明确触发它。