C#实现ControlTemplate方法
现在主流的控件模板和样式是引用XAML资源,不过感觉没有C#代码实现那么灵活,介绍一下C#实现ControlTemplate方法:
- //控件呈现的显示内容1(这里为Image)
- FrameworkElementFactoryfe=newFrameworkElementFactory(typeof(Image),"Image");
- BitmapImagebi=newBitmapImage();
- bi.BeginInit();
- bi.UriSource=newUri(@"E:ChartControlHanYangChartControlImageMainBackground.jpg");
- bi.EndInit();
- fe.SetValue(Image.SourceProperty,bi);
- //控件呈现的显示内容2(这里为TextBox)
- FrameworkElementFactoryfe2=newFrameworkElementFactory(typeof(TextBox),"TextBox");
- fe2.SetValue(TextBox.WidthProperty,100.0);
- fe2.SetValue(TextBox.HeightProperty,100.0);
- //把要呈现的显示内容封装起来
- FrameworkElementFactoryf=newFrameworkElementFactory(typeof(Grid),"Grid");
- f.AppendChild(fe);
- f.AppendChild(fe2);
- //控件模板
- ControlTemplatect=newControlTemplate(typeof(Button));
- ct.VisualTree=f;
- //修改Button的Template
- Buttonbtn=newButton();
- btn.Template=ct;
以上介绍C#实现ControlTemplate方法。
【编辑推荐】