创建具有不同边/边的边框

时间:2012-12-10 22:58:53

标签: c# wpf xaml

enter image description here

如何创建具有不同边缘的边框。不必完全相同。只是想知道如何将四种不同的样式设置为边框。

2 个答案:

答案 0 :(得分:5)

我认为没有办法控制每一方的边框风格。但是,您可以将4个边框放在彼此的顶部(或彼此之间),每个边框都具有所需样式的相应边和宽度为0的其他边

答案 1 :(得分:1)

你不能用边框做,但是你可以创建一个具有相同风格的内容控件。

<Style x:Key="DiffBorderStyle" TargetType="{x:Type ContentControl}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ContentControl}">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition/>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>
                        <Rectangle 
                        Fill="Black" Width="1" 
                        Grid.RowSpan="3"/>

                        <Rectangle 
                        Fill="Blue" Width="1" 
                        Grid.Column="2"
                        Grid.RowSpan="3"/>

                        <Rectangle 
                        Fill="Red" Height="1" 
                        Grid.ColumnSpan="3"/>

                        <Rectangle 
                        Fill="Black"  Height="1" 
                        Grid.Row="2"
                        Grid.ColumnSpan="3"/>

                        <ContentPresenter Grid.Column="1" Grid.Row="1"/>
                    </Grid>


                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

您可以在样式中对每个矩形进行样式化,也可以使用Line代替矩形。

希望有所帮助......