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

时间:2014-10-17 08:12:07

标签: c# wpf resourcedictionary windowless

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

1 个答案:

答案 0 :(得分:1)

在尝试了各种方法都没有用之后,例如通过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
}