关于C#代码实现ControlTemplate

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 14:26 点击:
现在主流的控件模板和样式是引用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;

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 用C#制作屏幕捕获程序
    • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
    • 遍历ArrayList易犯错误
    • C#对XML操作:一个处理XML文件的类(1)
    • .NET简谈反射(动态调用)
    • 使用C#编写LED样式时钟控件
    • DataList嵌套问题 如何删除内层子DataList的记录
    • 怎样用C#实现完整文档打印功能
    • .NET简谈自定义事务资源管理器
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1