【发布时间】:2017-05-05 03:19:27
【问题描述】:
我是 WPF 新手并正在学习 WPF,我正在尝试创建一个具有以下属性的模板
TEXT 1 到 6 包含粗细=1 的边框
所以我使用网格开发了这个任务
XML
<Border BorderBrush="Black" BorderThickness="1">
<Grid>
<Grid HorizontalAlignment="Left" Height="80" Margin="55,107,0,0" VerticalAlignment="Top" Width="183">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="54*"/>
<ColumnDefinition Width="68*"/>
<ColumnDefinition Width="61*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="22*"/>
<RowDefinition Height="31*"/>
<RowDefinition Height="27*"/>
</Grid.RowDefinitions>
<Border BorderThickness="1" BorderBrush="Black">
<TextBlock Grid.Row="0" Grid.Column="0"/>
</Border>
<Border Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2" BorderThickness="1" BorderBrush="Black">
<TextBlock Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2"/>
</Border>
<Border Grid.Row="1" Grid.Column="0" Grid.RowSpan="2" BorderThickness="1" BorderBrush="Black">
<TextBlock Grid.Row="1" Grid.Column="0" Grid.RowSpan="2"/>
</Border>
<Border Grid.Row="1" Grid.Column="1" BorderThickness="1" BorderBrush="Black">
<TextBlock Grid.Row="1" Grid.Column="1"/>
</Border>
<Border Grid.Row="1" Grid.Column="2" BorderThickness="1" BorderBrush="Black">
<TextBlock Grid.Row="1" Grid.Column="2"/>
</Border>
<Border Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" BorderThickness="1" BorderBrush="Black">
<TextBlock Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"/>
</Border>
</Grid>
</Grid>
</Border>
有没有其他最佳方式来达到这个目的
将 TEXT 1-6 放置在边框粗细为 1 的位置,并带有单独的块,如上图
【问题讨论】:
-
您可以使用
Label代替TextBlock并为Label编写一个本地隐式模板。这就是我要做的。 -
@EdPlunkett 好的,谢谢 :) 你能否为“为标签编写本地隐式模板”提供很好的参考
-
我可以给你一个无懈可击的。请稍等片刻,我将其粘贴到答案框中。
-
顺便说一句,解决其他问题真是太棒了。