c# - 如何在 WPF 中设置形状描边的可见性
问题描述
我正在尝试为我实现的孔板可视化实现突出显示功能。可视化如下所示:
我已经设法根据属性将小瓶划掉,但现在我需要根据数据网格中一行的选择突出显示一个小瓶。该行的选定状态已分配给选定样本。现在我只需要知道如何更改椭圆的 Stroke 属性的可见性。
我的想法是这样的:
<Ellipse Fill="{Binding Color}"
Stretch="Uniform"
Margin="0.5"
StrokeThickness="5">
<Ellipse.Style>
<Style TargetType="Ellipse">
<Setter Property="Stroke" Value="AliceBlue"/>
<Setter Property="Visibility" Value="Hidden"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Selected}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
但是在这里,可见性被分配给完整的椭圆,因此完整的椭圆将被隐藏。
但我不能选择 Stroke 作为 Style TargetType。你能帮忙的话,我会很高兴。谢谢
解决方案
感谢Loccid和Sinatr提供了改变厚度而不是可见度的技巧。代码现在看起来像这样并且工作正常:
<Ellipse Fill="{Binding Color}"
Stretch="Uniform"
Margin="0.5"
Stroke="#002f5d">
<Ellipse.Style>
<Style TargetType="Ellipse">
<Style.Triggers>
<DataTrigger Binding="{Binding Selected}" Value="True">
<Setter Property="StrokeThickness" Value="5"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
推荐阅读
- java - 如何回滚分支的最后一次提交?
- laravel - Laravel Homestead 是否安装了 Nginx 或 Apache?
- ios - 快速更新键盘预测栏建议
- python - 如何为我的 __dict__ 属性推广此功能
- angular - 新 Ionic/Angular 应用程序的 tfignore 问题
- android - onResume() 更改菜单项出错
- c - execve /bin/bash 作为子进程。使用管道通过父进程与 bash 交互
- excel - 根据excel vba中的不同标准计算平均值
- google-cloud-platform - 对话框流中的错误 getaddrinfo ENOTFOUND
- r - 乳胶 R 块输出未修饰