我为我的应用程序创建了一个自定义路径形状。我将这个形状添加到我的画布中,并且还添加了一个位于此形状中心的文本框。
点击形状并点击文本会触发文本框上的点击事件,有没有办法可以禁用它?
我希望我的形状上的每个水龙头都能找到形状,而不是位于该形状顶部的文本框
答案 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
?