在CodeBehind上使用XAML样式

本文关键字:XAML 样式 CodeBehind | 更新日期: 2023-09-27 18:18:01

伙计们,我正在尝试使用style的样式。Xaml到我的代码后面在我的样式中,我有这样的代码

文件Style.xaml

<SolidColorBrush x:Key="FontGrey" Color="#FFC5C0C0"></SolidColorBrush>  

和在我的Apptest.xaml.cs文件我有这样的代码

txt.Foreground =  new SolidColorBrush(Color.FromArgb(255, 252, 147, 25));

如果我想根据style.xaml改变前景色我该怎么做呢?我试图使用资源,但它不工作

注意:风格。xaml和Apptest。

在CodeBehind上使用XAML样式

您可以在Silverlight中使用以下语法访问您定义的资源:

txt.Foreground = (SolidColorBrush)Application.Current.Resources["FontGrey"];

你可以把你的样式放到Window中。Apptest中的资源。Xaml:

    <ResourceDictionary >
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary 
              Source="Style1.xaml">
            </ResourceDictionary>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>

然后在文件Apptest.xaml.cs后面的窗口代码中,你可以访问资源:

    InitializeComponent();
    txt.Foreground = Resources["FontGrey"] as SolidColorBrush;

如果假设资源是可用的,那么下面的代码应该可以为您工作:

txt.Foreground = (Brush)FindResource("FontGrey");