我为我的应用程序创建了一个自定义路径形状。我将这个形状添加到画布上,并在这个形状的中间添加一个文本框。
点击形状并点击文本会触发文本框上的点击事件,我有办法禁用它吗?
我希望每次点击我的形状都指向该形状,而不是位于该形状顶部的文本框
您有一些选择。
TextBox
上的IsHitTestVisible="False"
将忽略你的点击事件,但如果他们只点击它,你就不会得到点击…
你可以编辑控制模板的TextBox
和添加你的Path
形状直接作为模板的一部分,所以它都接受事件作为一个文本框。
你可以通过在两个对象上添加一个层来拦截事件,就像;
<Grid>
<Path/>
<TextBlock/>
<Rectangle/><!-- Use to intercept the event over the whole thing -->
</Grid>
或者你甚至可以通过嵌入UserControl
使这些东西成为自己的对象,并以这种方式接受它们。
这取决于你想做什么。
如果您想显示文本,但没有编辑它的能力,为什么不使用TextBlock
呢?