使用变量值作为x:名称

时间:2015-08-26 16:13:10

标签: c# wpf

我有一个名为myBtn的按钮。在XAML中:( <Button x:Name="myBtn" ...

我还有一个变量,其值为myBtn

现在,我需要更改此按钮的颜色:

public string buttonName = "myBtn";

private void method () 
{
     this.buttonName.Background = new SolidColorBrush(Color.FromRgb(255, 0, 255));
}

这会出错:

  

字符串不包含背景

的定义

这样做的正确语法是什么?

3 个答案:

答案 0 :(得分:3)

myBtn.Background = new SolidColorBrush(Color.FromRgb(255, 0, 255));


一旦你给控件一个x:Name属性,你可以直接从后面的代码中引用它而不做任何其他事情。

答案 1 :(得分:2)

您可以使用

访问指定XAML按钮的背景颜色
myBtn.Background = new SolidColorBrush(Color.FromRgb(255, 0, 255));

您指定的名称将成为您正在构建的应用程序中代码隐藏的Button对象。

答案 2 :(得分:2)

试试这个:

public Button buttonName;

private void method ()
{
   buttonName = this.FindName("myBtn") as Button;
   buttonName.Background = new SolidColorBrush(Color.FromRgb(255, 0, 255));
}