Jos*_*eld 2 wpf datatrigger attached-properties
当某个视图模型进入离线状态时,我试图将圆形叠加层置于顶部.因此它变得部分透明,并且位于网格中的其他元素之上.
到目前为止,样式中的DataTriggers已经适用于所有内容,但我无法设置Panel.ZIndex.构建或运行中没有错误,但是没有设置属性(我假设它是附加属性?)
<Ellipse Fill="DarkGray" Panel.ZIndex="-10" Width="50" Height="50">
<Ellipse.Style TargetType="Ellipse">
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="Offline">
<Setter Property="Opacity" Value=".6" />
<Setter Property="Panel.ZIndex" Value="10" />
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
Run Code Online (Sandbox Code Playgroud)
您的语法正确,但问题是您Panel.ZIndex在<Ellipse>标记中定义,并且标记本身中设置的属性将优先于任何触发的值.
要修复它,只需设置Panel.ZIndex您的样式而不是Ellipse标记
<Ellipse Fill="DarkGray" Width="50" Height="50">
<Ellipse.Style TargetType="Ellipse">
<Style>
<Setter Property="Panel.ZIndex" Value="-10" />
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="Offline">
<Setter Property="Opacity" Value=".6" />
<Setter Property="Panel.ZIndex" Value="10" />
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅MSDN关于依赖属性优先级的文章
| 归档时间: |
|
| 查看次数: |
1805 次 |
| 最近记录: |