在WPF XAML中,有方便的DesignHeight
和DesignWidth
,例如在代码中
<UserControl ... d:DesignHeight="500" d:DesignWidth="500" ... />
这很棒,因为我可以使用具有代表性的控件大小(但不能锁定控件大小)来构建布局。
但是,我经常构建深色的UI,其中的标签等必须为白色,但是控件仍需要透明的背景色。这在设计时造成了不便,因为白色似乎是设计器中透明控件的默认背景色,从而导致无法读取的白标签。
有没有一种设置设计时背景色的方法或策略,与DesignHeight / DesignWidth类似?
最佳答案
您可以在用户控件上设置d:DesignStyle
类型的未公开属性Style
。此样式仅在设计器中应用,而在运行时不使用。
您可以这样使用它:
<UserControl ... d:DesignStyle="{StaticResource MyDesignStyle}" />
或像这样:
<UserControl ...>
<d:DesignerProperties.DesignStyle>
<Style TargetType="UserControl">...</Style>
</d:DesignerProperties.DesignStyle>
</UserControl>
但是请注意,在
Style
属性上设置的任何值(在运行时使用的值)也将覆盖设计器中的DesignStyle
。