从资源字典中读取画笔
Read brush from resource dictionary
我在项目的 App.XAML 页面中定义了以下资源字典:
<Application.Resources>
<ResourceDictionary>
<AcrylicBrush x:Key="CustomAcrylicDarkBackground"
BackgroundSource="HostBackdrop"
TintColor="#a5a4a4"
TintOpacity="0.7"
FallbackColor="Black"/>
<AcrylicBrush x:Key="CustomAcrylicDarkInApp"
BackgroundSource="Backdrop"
TintColor="Gray"
TintOpacity="0.5"
FallbackColor="Gray"/>
<AcrylicBrush x:Key="CustomAcrylicDarkButton"
BackgroundSource="Backdrop"
TintColor="DarkGray"
TintOpacity="0.8"
FallbackColor="DarkGray"/>
<SolidColorBrush x:Key="DefaultTextColour"
Color="#b880fc"
Opacity="100"/>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
我在将 "DefaultTextColour" 读入主页后面的代码时遇到问题。
我一直在尝试通过这样做来阅读画笔:
TransfersItem.Foreground = Application.Current.Resources["DefaultTextColour"];
TransfersItem.Foreground = (Brush)FindName("DefaultTextColour");
TransfersItem.Foreground = (Brush)Application.Current.Resources("DefaultTextColour");
None 其中目前已经有效。我不确定如何引用资源。
是否因为我试图将其读入 属性?
编辑:确实说资源不能像方法一样使用,但我不确定如何解决
TransfersItem.Foreground = Application.Current.Resources["DefaultTextColour"] as SolidColorBrush;
您需要告诉该应用您期望的 return 类型。
我在项目的 App.XAML 页面中定义了以下资源字典:
<Application.Resources>
<ResourceDictionary>
<AcrylicBrush x:Key="CustomAcrylicDarkBackground"
BackgroundSource="HostBackdrop"
TintColor="#a5a4a4"
TintOpacity="0.7"
FallbackColor="Black"/>
<AcrylicBrush x:Key="CustomAcrylicDarkInApp"
BackgroundSource="Backdrop"
TintColor="Gray"
TintOpacity="0.5"
FallbackColor="Gray"/>
<AcrylicBrush x:Key="CustomAcrylicDarkButton"
BackgroundSource="Backdrop"
TintColor="DarkGray"
TintOpacity="0.8"
FallbackColor="DarkGray"/>
<SolidColorBrush x:Key="DefaultTextColour"
Color="#b880fc"
Opacity="100"/>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
我在将 "DefaultTextColour" 读入主页后面的代码时遇到问题。
我一直在尝试通过这样做来阅读画笔:
TransfersItem.Foreground = Application.Current.Resources["DefaultTextColour"];
TransfersItem.Foreground = (Brush)FindName("DefaultTextColour");
TransfersItem.Foreground = (Brush)Application.Current.Resources("DefaultTextColour");
None 其中目前已经有效。我不确定如何引用资源。
是否因为我试图将其读入 属性?
编辑:确实说资源不能像方法一样使用,但我不确定如何解决
TransfersItem.Foreground = Application.Current.Resources["DefaultTextColour"] as SolidColorBrush;
您需要告诉该应用您期望的 return 类型。