在代码中,我创建了一个:
public static Button button1 = new Button();
并将其添加到 Canvas ,我可以在我的代码中的任何类中访问 Button ,但我无法弄清楚如何在 XAML
基本上我想在任何类中访问我的控件,如果我在代码中创建它们,我可以这样做,但不能在 XAML 中创建。
有解决方案吗?
答案 0 :(得分:1)
使用以下课程:
public class TestClass
{
public static System.Windows.Controls.Button GlobalButton {get; set;}
static TestClass()
{
GlobalButton = new System.Windows.Controls.Button();
GlobalButton.Content = "Button1";
}
}
您可以使用以下 XAML :
<Border Child="{x:Static MemberType=local:TestClass, Member=GlobalButton}" />
但是,我强烈建议你不要使用这种方法并找到另一种方法来做你想做的事。
答案 1 :(得分:0)
您只需在XAML中为控件指定一个x:name,然后在后面的代码中通过该名称访问它。如果你想从任何类访问它们,那么我不确定你能在XAML中做到这一点,因为XAML更多只是与单个代码相关联。如果您需要其他类来访问该控件,那么您需要将其作为后台代码中的属性公开。但是为什么你需要从另一个类访问UI控件?
答案 2 :(得分:0)
如果你需要从任何地方引用XAML中声明的对象,你可能不想看看这个界面:http://msdn.microsoft.com/en-us/library/system.xaml.ixamlnameresolver.aspx
使用此功能,您应该能够通过x:name
解析给定XAML名称范围内的任何对象