为 Windows Phone 编写应用程序,我想创建自定义控件,继承自TextBlock
. 但是这个控件的形式不应该是矩形。我尝试使用 Blend 来完成这项任务,但我找不到更改控件形式的属性。
上图是控制的示意图。我想,有可能设置控制角度的坐标,但我没有找到。谢谢你。
为 Windows Phone 编写应用程序,我想创建自定义控件,继承自TextBlock
. 但是这个控件的形式不应该是矩形。我尝试使用 Blend 来完成这项任务,但我找不到更改控件形式的属性。
上图是控制的示意图。我想,有可能设置控制角度的坐标,但我没有找到。谢谢你。
这个问题可以通过多种方式解决,我选择用一个Template
跟自己的数字。在角色中的人物会表演标准Rectangles
。TextBlock
无法设置模板,所以我选择了更通用的控件 - Label
.
例子:
<Style TargetType="{x:Type Label}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Label}">
<Border Background="{TemplateBinding Background}">
<Grid>
<Rectangle Width="30" Height="70" Fill="Gainsboro" StrokeThickness="1" Margin="0,0,0,10" Panel.ZIndex="0" />
<ContentPresenter HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="33,0,0,25" Panel.ZIndex="1" />
<Rectangle MinWidth="55" Height="30" StrokeThickness="1" Fill="Gainsboro" HorizontalAlignment="Left" Margin="30,30,0,0" />
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Label
在 XAML 中声明:
<Label Background="Transparent" Width="200" Height="90" Content="Test your label" />
Output
自然,您将需要更改Template
以适应您的需求。
Note about several ways
:
对于更复杂的方法和更高级的方法,您可以使用自己的方法Decorator
,在您的帮助下DrawingContext
绘制您的对象。示例 -如何在 wpf 中绘制带有方角的边框?
使用Geometry
, 其中 a的属性Path
,设置所需的图形形状。示例 - WPF 自由形式边界控制。