我想为矩形创建样式或模板。这些属性非常肤浅:更改了背景颜色、半径。
此外,我想在矩形内添加文本。
我找到了很多例子,但没有一个最符合我的需要。是否可以创建一个模板,以我只需要调用的方式在内部绘制矩形和文本
<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>
就其值(value)而言,模板应用于按钮,但实际上我想将它应用于不起作用的矩形。
最佳答案
您需要的是 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>
关于c# - 带有 WPF 内部样式和文本 block 的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377309/