现在主流的控件模板和样式是引用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;
赞
If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
 
 
QQ:154298438
QQ:417480759