4. 6月 2016 17:03
/
丘山大一
/
Blog . C# . XAML
コメント (0)
多角形作って、中にTextBlock突っ込めばオッケー、簡単ですね。
あれ?
多角形(Polygon)の中にTextBlockは突っ込めないみたい
な、なんだってー。
というわけで
正解はTextBlock の裏に多角形を仕込むことみたいです。
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication1"
xmlns:exshape="clr-namespace:Microsoft.Expression.Shapes;assembly=Microsoft.Expression.Drawing"
xmlns:exctrl="clr-namespace:Microsoft.Expression.Controls;assembly=Microsoft.Expression.Drawing"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock Text="12" FontSize="24"
Width="50"
Height="50"
Padding="10,10,0,0">
<TextBlock.Background>
<VisualBrush>
<VisualBrush.Visual>
<exshape:RegularPolygon Width="50" Height="50" Stroke="Black" PointCount="5" Opacity="0.25" />
</VisualBrush.Visual>
</VisualBrush>
</TextBlock.Background>
</TextBlock>
</Grid>
</Window>
ポイントは TextBlock の Padding 。
これで文字位置を微調整する必要があります。
うーん、イマイチ
多角形の中に文字列が存在する のではなく、
文字列の裏側に多角形が存在する というのは、直観に反しているのでなんかイヤ。
もっといい方法ないかなあ……。
あと、もしかして……
UWPってRegularPolygonを呼び出せない……??
Tags :