从资源字典中读取画笔

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 类型。