IconElement是這些類的父類:
所以沒有指定一個SymbolIcon
到問題的Icon
財產。而在UWP XAML系統中,內置型號轉換器支持SymbolIcon
。對於複製,您應該能夠定義DependencyProperty,其類型爲IconElement
,然後在AppBarButton
中使用它。
對於一個簡單的例子,我創建了一個名爲「CustomAppBarButton」的模板控件,其名爲「Icon」的依賴屬性。
CustomAppBarButton.cs:
public sealed class CustomAppBarButton : Control
{
public CustomAppBarButton()
{
this.DefaultStyleKey = typeof(CustomAppBarButton);
}
public IconElement Icon
{
get { return (IconElement)GetValue(IconProperty); }
set { SetValue(IconProperty, value); }
}
// Using a DependencyProperty as the backing store for Icon. This enables animation, styling, binding, etc...
public static readonly DependencyProperty IconProperty =
DependencyProperty.Register("Icon", typeof(IconElement), typeof(CustomAppBarButton), new PropertyMetadata(null));
}
Generic.xaml:
<Style TargetType="local:CustomAppBarButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:CustomAppBarButton">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ContentPresenter x:Name="Content"
HorizontalAlignment="Stretch"
Content="{TemplateBinding Icon}"
Foreground="{TemplateBinding Foreground}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
然後你可以使用它像下面這樣。
<local:CustomAppBarButton Icon="Like" Foreground="Red" />
這似乎工作,但我沒有得到任何Intellisense建議,因爲我使用'AppBarButton'時做的。對此有何建議? –
@NolanBlew AFAIK,沒有這種自定義控件的支持。我們必須手動輸入。 –