2011-07-12 17 views
0

所以我创建了XAML按钮(由一个矩形>右键单击>创建控制>按钮)如何在C#中添加一个XAML按钮

我可以添加它,当我在Expression Blend中的XAML设计部分,但我不知道如何以编程方式在C#中创建它们。

认为我命名的新按钮btn_openRecent,然后我想做的事情是这样的:

btn_openRecent newBtn = new btn_openRecent(); 

我能做到这一点?如果这有什么不同,我将它作为应用程序资源保存。

谢谢!

+0

“但我无法弄清楚如何以编程方式在C#中”。 创建它们?与他们互动? –

+0

err ...创建它们* – Toadums

回答

1

你的CustomButton是A UserControl或定制Template

常规按钮如果它是一个用户控件,您可以使用

MyCustomButton newBtn = new MyCustomButton(); 

如果它是一个模板(更可能的场景)y ou会创建一个常规按钮并应用样式或模板

Button newBtn = new Button(); 
newBtn.Template = (ControlTemplate)FindResource("MyCustomButtonTemplate"); 
// Or if your Template is defined in a Style 
newBtn.Style= (Style)FindResource("MyCustomButtonStyle"); 
+0

谢谢!它是最后一个: – Toadums

+0

newBtn.Style =(Style)FindResource(“MyCustomButtonStyle”); – Toadums

2

在XAML中,您声明类Button的实例,并将值分配给某些属性。所以,在XAML创建为

<Button Click="OnClick">Test</Button> 

对象可以在C#创建为

Button b = new Button(); 
b.Content = "Test"; 
b.Click += OnClick; 

如果你已经把东西放到应用程序的资源,您可以通过使用

Button b = (Button)Application.Current.Resources["key"]; 
得到它

但我不会推荐这种技术,因为按钮不能重复使用一次以上。

请注意,通常XAML还有另外一个用途:将控件放入另一个控件中。因此,像

<Grid> 
    <Button>Test</Button> 
</Grid> 

的代码在C#中表示为

Grid g = new Grid(); 
Button b = new Button(); 
b.Content = "Test"; 
g.Children.Add(b); 
+0

嗯..我可以创建Button对象,但我无法创建我自己的自定义按钮的实例。 – Toadums

+0

@Toadums:什么是“自定义按钮”?它只是一个按钮,某些属性分配给某些值,或者是从Button派生的类? – Vlad

相关问题