Wpf 仅当用户按下按钮内容的特定区域时,才会调用该命令

Wpf 仅当用户按下按钮内容的特定区域时,才会调用该命令,wpf,Wpf,我是wpf的新手。我需要这样的控制 它应该像按钮一样工作。它应该在IsMouseOver和IsPressed上更改背景色。但是,只有当用户单击十字时,才应触发单击并取消命令。有没有办法通过提供一些自定义内容或模板来限制按钮的可点击区域?我会使用stackpanel或grid,而不是试图用一个部分按钮来创建一个完整的按钮控件 <StackPanel Orientation="Horizontal"> <Textblock>Some Text</Textblock

我是wpf的新手。我需要这样的控制


它应该像按钮一样工作。它应该在IsMouseOver和IsPressed上更改背景色。但是,只有当用户单击十字时,才应触发单击并取消命令。有没有办法通过提供一些自定义内容或模板来限制按钮的可点击区域?

我会使用stackpanel或grid,而不是试图用一个部分按钮来创建一个完整的按钮控件

<StackPanel Orientation="Horizontal">
  <Textblock>Some Text</Textblock>
  <Button source="YourImage"/>
</StackPanel>
现在您可以决定宽度、高度和您认为合适的属性。要使您的文本块和按钮在鼠标结束时更改背景,我会查看样式和触发器


对于模板或自定义控件中不应对鼠标单击作出反应的所有元素,请尝试将其IshittesVisible属性设置为false。确保那些应该对鼠标做出反应的元素确实保持了IshitteVisible的真实性,因为这样做是错误的。不要试图制作一个带有自定义可点击区域的按钮,而是制作一个复合控件-例如,一个文本块和一个按钮在一个有两列的网格中布局。