在WPF XAML中,有方便的DesignHeightDesignWidth,例如在代码中

<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

09-11 18:06