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