c# - 将相同的属性应用于我的所有多边形

标签 c# wpf

我想将相同的属性应用于我的所有多边形:

Polygon polygon = new Polygon();
polygon.StrokeThickness = 2;
polygon.Stroke = Brushes.Black;
polygon.Fill = (Brush)FindResource("HatchBrush");
polygon.ToolTip = (Image)FindResource("GapImg");

我该怎么做?

最佳答案

您可以使用Style property .

在资源字典中定义您的样式:

<Style x:Key="PolygonStyle" TargetType="Polygon">
    <Setter Property="Stroke" Value="Black" />
    <Setter Property="StrokeThickness" Value="2" />
    <Setter Property="Fill" Value="{StaticResource HatchBrush}" />
    <Setter Property="ToolTip" Value="{StaticResource GapImg}" />
</Style>

然后使用 FindResource对于每个多边形:

Polygon polygon = new Polygon() 
{ 
    Style = FindResource("PolygonStyle") as Style,
};

如果您需要将样式应用于所有多边形,只需删除x:Key,您甚至不需要在运行时查找资源

关于c# - 将相同的属性应用于我的所有多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11051035/

相关文章:

c# - 如何读取 Windows 商店应用程序中的注册表值?

c# - 在嵌套列表中搜索

c# - 仅从图像位置在 C# 桌面应用程序中旋转图像

wpf - 设置 WPF RichTextBox 中特定文本行的格式

c# - 在理解此示例代码方面需要帮助

c# - 为什么 FREE block 在堆中这么大

c# - 返回的列表不返回数据

wpf - 为什么以这种方式使用 System.Threading.Task 类时我的 UI 会被阻塞?

c# - WPF:两个控件绑定(bind)到一个源,如何过滤绑定(bind)?

c# - WPF: Canvas 中的中心文本 block