Читать кисть из словаря ресурсов - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть следующий словарь ресурсов, определенный на странице 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");

Ничего из того, что до сих пор не работало.Я не уверен, как я могу защитить ресурс.

Это из-за того, что я пытаюсь прочитать это в свойство?

Редактировать: В нем говорится, что ресурс нельзя использовать какметод, но я не уверен, как обойти

1 Ответ

0 голосов
/ 16 сентября 2018
TransfersItem.Foreground = Application.Current.Resources["DefaultTextColour"] as SolidColorBrush;

Вы должны указать приложению, какой тип возврата вы ожидаете.

...