У меня есть пользовательский UIElement с FontIcon
как тело.UWP: DependencyProperty с DefaultValue ThemeResource
Этот FontIcon
имеет свойство Foreground
, которое я хочу связать с DependencyProperty
.
The DependencyProperty
объявлен следующим образом:
public static readonly DependencyProperty ForegroundColorProperty = DependencyProperty.Register("ForegroundColor", typeof(Brush),
typeof(ColorableCheckbox),
new PropertyMetadata(null, null));
public Brush ForegroundColor
{
get { return (Brush)GetValue(ForegroundColorProperty); }
set { SetValue(ForegroundColorProperty, value); }
}
В моей декларации defaultValue
о PropertyMetadata
имеет нулевое значение, я хочу, чтобы это было значение ThemeResource
.
К сожалению, с помощью
<FontIcon x:Name="Glyph"
FontFamily="Segoe UI Symbol"
Glyph=""
FontSize="20"
Foreground="{Binding Path=ForegroundColor,FallbackValue={ThemeResource SystemControlHighlightAltChromeWhiteBrush}}" />
не работает, он дает ошибку:
{DynamicResource} can only be used with dependency property
Как я могу установить значение по умолчанию для ThemeResource
? Либо в коде с PropertyMetadata
, либо в XAML?
Глиф не будет доступен в статическом контексте. Он также чувствует себя взломанным, чтобы вручную установить свойство «Переднего плана» Glyph вручную. – ManIkWeet
Извините, исправлено, что – H77
И добавил возможное решение XAML – H77