首页 > 开发 > 综合 > 正文

关于C#代码实现ControlTemplate

2024-07-21 02:28:17
字体:
来源:转载
供稿:网友

  现在主流的控件模板和样式是引用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;
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表