【发布时间】:2012-12-10 22:58:53
【问题描述】:
如何创建具有不同边缘的边框。不必完全相同。只是想知道如何为边框设置四种不同的样式。
【问题讨论】:
如何创建具有不同边缘的边框。不必完全相同。只是想知道如何为边框设置四种不同的样式。
【问题讨论】:
我认为没有办法控制每一边的边框样式。但是,您可以将 4 个边框彼此叠放(或在彼此内),每个边框具有所需样式的对应边和宽度为 0 的其他边
【讨论】:
你不能用边框来做,但你可以创建一个具有相同样式的内容控件。
<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 代替矩形。
希望对你有帮助..
【讨论】: