重置WPF中可视树的某些部分的样式



我正在为我的App.xaml文件中的TextBox, ComboBox, TextBlock等设置一些全局样式。我希望这些样式通过视觉树向下流动,以获得一致的外观,这就是它们正在做的事情。

然而,我在我的UI的一部分使用Ribbon。样式自定义完全脱离了Ribbon的外观。功能区与许多其他UI元素位于同一层,所以有没有办法重置功能区及其视觉子元素

的样式?

我不认为你可以改变这个wpf的行为。

但是你可以尝试将所有全局样式包含到特定的资源字典中,并在所有其他VisualTree元素中使用它。

或者你可以尝试这样做:

<Window ...>
    <Window.Resources>
        <Style TargetType="Button">
            <Setter Property="Background" Value="Red" />
        </Style>
    </Window.Resources>
    <DockPanel LastChildFill="True">
        <Button x:Name="button1" Content="button" DockPanel.Dock="Top" />
        <StackPanel>
            <StackPanel.Resources>
                <Style TargetType="Button">
                </Style>
            </StackPanel.Resources>
            <Button x:Name="button2" Content="lala" />
        </StackPanel>
    </DockPanel>
</Window>

名称为"button2"的元素为默认元素

相关内容

  • 没有找到相关文章

最新更新