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
對不起,我的意思是我想約束整個視覺而不是那種 –