Windows边框上出现意外的样式效果

时间:2016-07-20 09:44:47

标签: wpf styles border margin

我项目中的MainWindow有很多带边框的控件,因此我在Window.Resources中创建了一个适用于窗口中每个边框的样式。在其中我将该边距设置为5并且发生了意外情况。

它似乎也将它应用于实际窗口的边框,导致窗口中出现黑色轮廓。

为了测试这个,我创建了一个新项目,并添加了这个代码并获得了相同的结果。甚至看起来更奇怪的是它似乎只是它使用的边际。没有边框厚度或颜色。

<Window.Resources>
    <Style TargetType="{X:Type Border}">
        <Setter Property="BorderBrush" Value="Aqua"/>
        <Setter Property="BorderThickness" Value="5"/>
        <Setter Property="Margin" Value="5"/>
    </Style>
</Window.Resources>

问题是,如何设置此边框上的边距以超越风格?

我知道我可以在样式中添加一个键,但是我必须编辑所有边框才能使用这种样式。我无法在这个特定边界上轻松设置边距似乎有点不对。

任何帮助/指导表示赞赏。

P.S。对于任何拼写错误或格式问题的道歉,在我的手机上键入这一切,因为没有在编码笔记本电脑上访问互联网。

1 个答案:

答案 0 :(得分:1)

尝试将Style从Window移动到MainContainer Resources

<Window
    ...
    >
    <Grid x:Name="MainContainer">
        <Grid.Resources>
            <Style TargetType="{x:Type Border}">
                <Setter Property="BorderBrush" Value="Aqua"/>
                <Setter Property="BorderThickness" Value="5"/>
                <Setter Property="Margin" Value="5"/>
            </Style>
        </Grid.Resources>
        ...
    </Grid>
</Window>