[英]WPF Initializing DP in Code vs. XAML
当我声明DP时:
public static readonly DependencyProperty StrokeThicknessProperty = DependencyProperty.Register("StrokeThickness", typeof(double),
typeof(xxx), new FrameworkPropertyMetadata(1.0));
在此处进行初始化与在XAML样式声明中进行初始化之间有区别吗? 如:
Property="StrokeThickness" Value="1.0"
正如Peter所指出的那样,在派生类中将无法访问XAML方法,但是某些属性很难在C#中声明(例如画笔,几何体等)。
图像停车标志控件。 我应该将background = red放在C#中还是用XAML中的setter声明它? 八边形的几何形状等也一样。
传递给DependencyProperty.Register
的FrameworkPropertyMetadata
定义所有实例中依赖项属性的实际默认值。 它是类型定义的一部分。
样式中的样式设置器仅是Style
一部分,即使它恰好是控件的默认样式。
因此,如果作为控件的创建者确实依赖于依赖项属性来具有默认值,则在注册依赖项属性时应指定此值。 这应该是属性/类型的定义的一部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.