Wpf 设计器在设计时忽略BasedOn样式,在运行时工作
WPF设计师推断设计期间要显示的样式的能力似乎存在缺陷或限制 我正在为我的应用程序蒙皮,并且在我的应用程序中有一个基本窗口样式。xaml:Wpf 设计器在设计时忽略BasedOn样式,在运行时工作,wpf,xaml,visual-studio-2013,expression-blend,Wpf,Xaml,Visual Studio 2013,Expression Blend,WPF设计师推断设计期间要显示的样式的能力似乎存在缺陷或限制 我正在为我的应用程序蒙皮,并且在我的应用程序中有一个基本窗口样式。xaml: <Application.Resources> <Style x:Key="WindowStyleBase" TargetType="ContentControl"> <Setter Property="Background" Value="Red" /> <
<Application.Resources>
<Style x:Key="WindowStyleBase" TargetType="ContentControl">
<Setter Property="Background" Value="Red" />
</Style>
<Style x:Key="WindowStyle" TargetType="{x:Type Window}" BasedOn="{StaticResource WindowStyleBase}">
<!-- <Setter Property="Background" Value="Red" /> -->
</Style>
</Application.Resources>
现在,当我运行应用程序时,我看到了红色背景,但在visual studio 2013和expression blend的设计期间,背景是白色的(默认)。设计师没有应用正确的样式
我该如何解决这个问题?我有多个用户控件等,我希望在这些控件上使用WindowStyle
,这就是为什么我将样式子类化并使用BasedOn
。如果我将红色移到WindowStyle
而不是WindowStyleBase
中,它会工作,但这会导致复制粘贴代码过多,即使我会使用笔刷资源,因为我有很多用户控件
此外,我正在为一个黑色主题蒙皮,在设计期间使用白色背景非常不方便。您好,您找到解决此问题的方法了吗;我也在为同样的问题挣扎problem@SumGuy是的,我切换到T4并对样式进行预处理。我创建的脱机“生成”样式没有基于。这是某种编译时继承模式。
<Window x:Class="XamlBasedOnBreaker.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Style="{StaticResource WindowStyle}">
<Grid>
</Grid>
</Window>