从示例创建 wpf UIElement

发布于 2024-11-07 04:11:18 字数 323 浏览 2 评论 0原文

我希望创建一堆矩形,它们将共享一些属性,而其他一些属性将有所不同。这一切都是在代码隐藏中完成的,显然,无需通过复制和粘贴技巧就可以做到这一点,但本着让我的代码更加优雅的精神;是否可以有一个像这样的示例矩形

Rectangle sampleRect = new Rectangle(){Stroke = strokebrush,Margin = new Thickness(5)};

,并在之后使用不同的高度和宽度属性对所有其他矩形进行建模?

更新感谢您的回答,我实际上正在寻找更多 CSS/样式的东西......

I'm looking to create a bunch of rectanges that are going to share some properties and some other properties will be different. This is all done in codebehind, and clearly it is very possible to do this without breaking a sweat by copy and paste skills, but in the spirit of making my code more elegant; is it possible to have a sample rectangle like so

Rectangle sampleRect = new Rectangle(){Stroke = strokebrush,Margin = new Thickness(5)};

and model everyother rectangle after that with diefferent height and width attributes?

UPDATE Thanks for the answers, I am actually looking for more of a CSS/style thing...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

多情癖 2024-11-14 04:11:18

您可以将其包装在一个方法中,如下所示(假设 strokebrush 是某种本地字段)

private static Rectangle RectangleBuilder(int height, int width)
{
   Rectangle sampleRect = new Rectangle()
   {
       Stroke = strokebrush,
       Margin = new Thickness(5),
       Height = height,
       Width = width
   };
   return sampleRect;
}

You could wrap it inside a method, like this (assuming strokebrush is some sort of local field)

private static Rectangle RectangleBuilder(int height, int width)
{
   Rectangle sampleRect = new Rectangle()
   {
       Stroke = strokebrush,
       Margin = new Thickness(5),
       Height = height,
       Width = width
   };
   return sampleRect;
}
太阳哥哥 2024-11-14 04:11:18

您可以拥有代表 Rectangle 参数的类,并使用 DataTemplate 将您的类转换为 XAML 中的 Rectangle

,并且您的类将具有默认的 Strock 和边距,您可以覆盖高度和宽度

you could have Class that represents your Rectangle parameters and use DataTemplate to convert your class into Rectangle in your XAML

and your class will have default Strock and Margin and you can override height and width

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文