我想为矩形创建样式或模板。属性非常肤浅:改变了背景颜色,半径。
另外我想在矩形内添加文字。
我发现了很多例子,但没有一个能满足我的需求。是否可以创建一个模板,以我只需要调用
的方式绘制矩形和文本<Rectangle template={StaticRessources myBox}/>
是否应用了定义的模板?到目前为止,我来了,文本没有在矩形内对齐:
<ControlTemplate x:Key="greenBoxTemplate">
<Grid>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="25" Text="Hello World" TextWrapping="Wrap"/>
<Rectangle Height="100" HorizontalAlignment="Left" Margin="233,144,0,0" Name="BNU2" Style="{StaticResource greenBox}" Stroke="Black" VerticalAlignment="Top" Width="200"/>
</Grid>
</ControlTemplate>
对于它的价值,模板应用于按钮,但实际上我想将它应用于不起作用的矩形。
答案 0 :(得分:5)
您需要的是Decorator。已经有一个似乎完全适合你的人:Border
如果您希望为具有某些预定义值的元素设置重复边框,则可以将其创建为样式:
<Style TargetType="Border" x:Key="MyBorderStyle">
<Setter Property="Background" Value="Red"/>
<Setter Property="CornerRadius" Value="3px"/>
</Style>
并应用它:
<Border Style="{StaticResource MyBorderStyle}">
<TextBlock>Hello World</TextBlock>
</Border>