【发布时间】:2023-04-08 21:46:01
【问题描述】:
我有一个控制模板,我只想在鼠标悬停在模板的某个部分上时触发一些操作。这是我的模板的核心(为演示而简化):
<ControlTemplate TargetType="{x:Type graphicElements:MyTabItem}">
<Grid x:Name="templateRoot">
<Grid x:Name="templateChild" />
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=templateChild}" Value="True">
<Setter Property="Background" TargetName="templateRoot" Value="Red" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
当我将 ElementName 作为 templateRoot 时,它会工作并变成红色。当我把它作为 templateChild 它不起作用...为什么不呢?
【问题讨论】:
-
你需要放上非简化版的代码才能确定你的实际问题。空网格不会引发 IsMouseOver 事件。