1
我wan't创建一个自定义控制mahapps使已绑定属性的视觉,使砖内的图标定制区块控制创建WPF自定义控制mahapps瓦
控制XAML代码
<Style TargetType="{x:Type local:iTile}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:iTile}">
<controls:Tile Title="{TemplateBinding Title}"
HorizontalTitleAlignment="Left"
HorizontalContentAlignment="Right"
Height="100" Width="100"
Margin="0"
VerticalContentAlignment="Top">
<Rectangle Fill="Black" Height="45" Width="45" Margin="0,10,8,0">
<Rectangle.OpacityMask>
<VisualBrush Visual="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Icon}" Stretch="Uniform" />
</Rectangle.OpacityMask>
</Rectangle>
</controls:Tile>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
控制CSHARP代码
public class iTile : Tile
{
static iTile()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(iTile), new FrameworkPropertyMetadata(typeof(iTile)));
}
public static readonly DependencyProperty IconProperty =
DependencyProperty.Register("Icon", typeof(Object), typeof(iTile), new UIPropertyMetadata());
public Object Icon
{
get { return GetValue(IconProperty); }
set { SetValue(IconProperty, value); }
}
}
和控制使用像这样
<iControls:iTile Title="Some Title"
Icon="{iconPacks:PackIconMaterial Kind=AccountOff}"/>
但图标不显示只是瓷砖的标题。
感谢您的重播,但为什么图标不显示,因为可能是我使用的材料,也许使用其他来源。我该如何解决这个问题 –
“我该如何解决这个问题”?你在开玩笑吗?再次阅读我的答案,并将其复制到您的项目中。它确实解决了你的问题。 – mm8
对不起,我的意思是我想约束整个视觉而不是那种 –