Читать цвет из ресурса приложения - PullRequest
0 голосов
/ 09 мая 2019

Мне нужно получить SolidColorBrush из xaml ниже.

<Page
    x:Class="VGOUserInterface.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
    MaxWidth="800" MaxHeight="480">
..
..
</Page>

Как я могу получить SolidColorBrush из xaml выше в c ++ / cxx?

Я попытался, как показано ниже, но он говорит «Ресурсы»: не является членом «Windows :: UI :: Xaml :: Application :: Current».

SolidColorBrush^ resourceStringMap = (SolidColorBrush^)Application::Current::Resources->Lookup("ApplicationPageBackgroundThemeBrush");

1 Ответ

0 голосов
/ 10 мая 2019

Если вы объявили SolidColorBrush в ресурсе страницы, вам нужно получить SolidColorBrush в коде страницы со следующим кодом, а Application::Current::Resources было использовано для получения ресурса в App.xaml файл.

MainPage::MainPage()
{
    InitializeComponent();
    SolidColorBrush^ resourceStringMap = (SolidColorBrush^)this->Resources->Lookup("MyColor");
}

Xaml

<Page.Resources>
    <ResourceDictionary>
        <SolidColorBrush Color="Red" x:Key="MyColor"/>
    </ResourceDictionary>
</Page.Resources>
...