关于C#代码实现ControlTemplate

来源:互联网 发布:班服logo设计软件 编辑:程序博客网 时间:2024/04/30 00:44

现在主流的控件模板和样式是引用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

原创粉丝点击