我可以忽略文本框上的点击事件吗?

时间:2013-05-12 18:50:40

标签: c# windows-phone-7 xaml textbox event-handling

我为我的应用程序创建了一个自定义路径形状。我将这个形状添加到我的画布中,并且还添加了一个位于此形状中心的文本框。

点击形状并点击文本会触发文本框上的点击事件,有没有办法可以禁用它?

我希望我的形状上的每个水龙头都能找到形状,而不是位于该形状顶部的文本框

2 个答案:

答案 0 :(得分:4)

你有一些选择。

IsHitTestVisible="False"上的

TextBox将忽略您的点击事件,但如果他们只点击它就不会点击...

您可以编辑TextBox的控制模板,并直接将Path形状添加到模板中,因此它都会将事件作为文本框接受。

您可以通过在两个对象上添加图层来拦截事件,例如;

<Grid>
  <Path/>
  <TextBlock/>
  <Rectangle/><!-- Use to intercept the event over the whole thing -->
</Grid>

或者你甚至可以通过嵌入UserControl将这些东西作为自己的对象,并以这种方式一起接受它。

取决于你想要做什么。希望这会有所帮助。

答案 1 :(得分:2)

如果您想显示文字但无法编辑文字,为什么不使用TextBlock