如何从代码后面访问资源字典中的控件

本文关键字:字典 资源 控件 访问 代码 | 更新日期: 2023-09-27 18:26:55

我有一个无窗口的应用程序,它只由一个由ResourceDictionary填充的App.xaml组成。如何从Dictionary的代码隐藏中访问该Dictionary中的控件?

如何从代码后面访问资源字典中的控件

在尝试了各种都不起作用的方法后,例如通过VisualTreeHelper获取控件,通过名称直接访问控件,解决方案出奇地简单:

ResourceDictionary.xaml

<ResourceDictionary x:Class="My.Namespace"
                    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Button x:Key="myButtonName" />
</ResourceDictionary>

ResourceDictionary.xaml.cs:

// Example with a button control
Button myButton= this["myButtonName"] as Button;
if(myButton != null)
{
 // Do something
}