WPF中通过代码定义模板

WPF中可以再XAML中定义模板,也可以通过C#代码定义模板,通过代码可能更清楚的看清其逻辑,而且代码的好处就是可以随时动态的去操作,而在XAML中定义的一般都是静态的。 

//控件呈现的显示内容1(这里为Image)
FrameworkElementFactory fe = new FrameworkElementFactory(typeof(Image), "Image"); BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.UriSource = new Uri(@"E://MainBackground.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;
上一篇:批量转换编码 (gbk -> utf8)


下一篇:再读TCP/IP网络7层协议