2

在编写 WPF/Silverlight 应用程序时,我有时会在确定属性是否应该进入样式内部或直接留在元素上时遇到困难。您在决定时使用什么准则?

4

2 回答 2

3

我认为它通常归结为样式重用和整体项目组织。

如果它是一种样式,您将在控件中的许多不同元素(例如画笔)或什至在项目中的许多不同控件中重复使用,您显然希望将其拉出到自己的资源中。为了更好地组织,您甚至可能希望将这些共享样式放在它们自己的资源字典文件中,并使用MergedDictionaries将它们拉入不同的控件。BasedOn实际上,您也可以使用该属性在不同样式之间创建一些非常有用的级联效果。

当它归结为特定元素的“一次性”功能时,我认为将样式属性直接保留在元素上很好。如果不需要共享并且样式对于一个元素(特定的边框、边距等)是唯一的,那么将其直接保留在元素上会更容易且更具可读性。

于 2010-08-30T16:01:35.853 回答
1

非常好的问题。在两种情况下,我将属性移动到样式中。

1) 过度拥挤的属性 - 过度拥挤的属性只不过是用于自定义元素的太多属性。比如说。如果你有一个文本块并且想要自定义几乎所有的属性。然后,它会降低可读性。如果它有类似触发器的东西,那也是如此。会很拥挤。到那时,我曾经将它们移动到一种风格。

2) 重复使用的样式 - 这是明显的情况,如果我想为控件应用相同的一组属性。通常我们用x:keyor来做这件事TargetType

高温高压

于 2010-08-30T16:52:09.177 回答