繁体   English   中英

以编程方式创建按钮模板

[英]Create a Button template programmatically

首先,对我的英语感到很抱歉,希望您能理解我的问题(接受更正,下一篇更正确)。

好的,这是我的情况:为Windows Phone 7开发。我不能使用XAML模板。 我需要在运行时使用C#代码创建模板。 我需要自定义的唯一元素是处于非活动状态以及用户按住按钮时的背景色和前景色,以及边框的圆角。

设置Button.Style属性仅适用于默认状态(不活动),并且我无法创建拐角半径:

Style buttonStyle = new Style(typeof(Button); 

buttonStyle.Setters.Add(new Setter(Button.BackgroundProperty, new SolidColorBrush(Colors.Blue)); 
buttonStyle.Setters.Add(new Setter(Button.ForegroundProperty, new SolidColorBrush(Colors.White))); 

Button myBytton = new Button();
myButton.Style = buttonStyle;

下一步是为Button.Template属性创建CustomTemplate,但始终会引发Exception:

CustomTemplate myTemplate = new CustomTemplate();
myTemplate.TargetType = typeof(Button); // Exception raises here: InvalidOperationException wihtout more info

(..继续代码...)

Button myBytton = new Button();
myButton.Template = myTemplate;

我看过的所有示例都将XAML用于CutomTemplate。 我不知道如何为不同的按钮状态和边框半径设置样式。

您可能会发现Pete Brown的帖子对动态创建xaml很有帮助。

在WPF和Silverlight中动态生成控件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM