绑定到App.xaml中的属性

时间:2014-09-16 09:16:27

标签: c# wpf xaml

我有一个简单的问题:我想绑定一个Solidcolorbrush,它位于App.xaml的资源中。它有一个分配给它的键,但是如何从另一个页面绑定到该属性?

这是App.xaml本身:

<Application x:Class="Mplayer.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         StartupUri="MainWindow.xaml">
<Application.Resources>
    <ResourceDictionary>
        <Color x:Key="PrimaryAccentColor" A="255" R="3" G="169" B="244"/>
        <SolidColorBrush x:Key="PrimaryAccentBrush" Color="{StaticResource PrimaryAccentColor}"/>
        <Color x:Key="SecondaryAccentColor" A="255" R="3" G="169" B="244"/>
        <SolidColorBrush x:Key="SecondaryAccentBrush" Color="{StaticResource SecondaryAccentColor}"/>
        <Color x:Key="LightBackgroundColor" A="255" R="3" G="169" B="244"/>
        <SolidColorBrush x:Key="LightBackgroundBrush" Color="{StaticResource LightBackgroundColor}"/>
        <Color x:Key="DarkBackgroundColor" A="255" R="3" G="169" B="244"/>
        <SolidColorBrush x:Key="DarkBackgroundBrush" Color="{StaticResource DarkBackgroundColor}"/>
    </ResourceDictionary>
</Application.Resources>

如果我有一个我想要绑定到PrimaryAccentColorBrush的页面,那该绑定会怎么样?

我尝试将绑定设置为{Binding Path={StaticResource PrimaryAccentColorBrush}},但它找不到它。

任何帮助将不胜感激=)

2 个答案:

答案 0 :(得分:2)

您不必使用Binding,只需使用StaticResource,就像您已经这样做:

Property="{StaticResource PrimaryAccentBrush}"

答案 1 :(得分:1)

你几乎拥有它......试试这个:

<TextBlock Background="{Binding Source={StaticResource PrimaryAccentColorBrush}}" />

虽然您的示例中似乎没有PrimaryAccentColorBrush ...您的意思是PrimaryAccentBrush吗?