c# - 检索 x :Name or x:Key from Brush

标签 c# wpf xaml

XAML:

<ResourceDictionary> 
    <SolidColorBrush x:Name="MyBrush1" x:Key="MyBrush1" Color="Red" />
</ResourceDictionary>

C#:

brush = userControl.FindResource("MyBrush1")

如何从 brush 中检索 x:Name 或 x:Key?是否可以通过执行以下操作来检索它们:

brush.Name

brush.Key

最佳答案

public static class ResourceHelper
{
    public static string FindNameFromResource(ResourceDictionary dictionary, 
           object resourceItem)
    {
        return (dictionary.Contains(resourceItem)) ? 
               dictionary[resourceItem].ToString() : 
               string.Empty;
    }
}

具有单一方法进行反向查找的辅助类

你可以这样调用它:

string name = ResourceHelper.FindNameFromResource(this.Resources, defaultStyle);

关于c# - 检索 x :Name or x:Key from Brush,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13477387/

相关文章:

c# - 如何让 Roslyn 正确格式化 XML 文档注释?

wpf - 与 DrawingContext.DrawText 垂直对齐

c# - 将贝塞尔曲线段或线的端点绑定(bind)到 WPF 中的其他形状?

c# - 手动制作WPF项目

c# - LINQ 左联接仅与具有列最大值的行

c# - 为什么 System.Array 的大多数方法都是静态的?

c# - 按钮已禁用 - DialogHost 和日历

c# - 生成具有不同 'Content' 的单选按钮

wpf - XamlReader - 将多个 CLR 命名空间映射到单个 XML 命名空间

c# - Button.Click 自定义控件