关于C#代码实现ControlTemplate

现在主流的控件模板和样式是引用XAML资源,不过感觉没有C#代码实现那么灵活,现介绍一下代码实现 ControlTemplate的方法:


//控件呈现的显示内容1(这里为Image) 
FrameworkElementFactory fe = new FrameworkElementFactory(typeof(Image), "Image"); 
BitmapImage bi = new BitmapImage(); 
bi.BeginInit(); 
bi.UriSource = new Uri(@"E:ChartControlHanYangChartControlImageMainBackground.jpg"); 
bi.EndInit(); 
fe.SetValue(Image.SourceProperty, bi); 
//控件呈现的显示内容2(这里为TextBox) 
FrameworkElementFactory fe2 = new FrameworkElementFactory(typeof(TextBox), "TextBox"); 
fe2.SetValue(TextBox.WidthProperty,100.0); 
fe2.SetValue(TextBox.HeightProperty, 100.0); 
//把要呈现的显示内容封装起来 
FrameworkElementFactory f = new FrameworkElementFactory(typeof(Grid), "Grid"); 
f.AppendChild(fe); 
f.AppendChild(fe2); 
//控件模板 
ControlTemplate ct = new ControlTemplate(typeof(Button)); 
ct.VisualTree = f; 
//修改Button 的Template 
Button btn = new Button(); 
btn.Template = ct;

本篇文章来源于 IT中国 转载请以链接形式注明出处 网址:http://www.it86.cc/dotnet/2008/0410/28124.shtml

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值