zoukankan      html  css  js  c++  java
  • Silverlight指定Customer Control的默认样式

    当创建了一个自定义控件之后,由于不能在代码中写样式代码,也无法在控件运行时候指定Template,为了解决这个问题可以使用Generic.xaml来实现。

    Generic.xaml可以作为一个资源字典来理解,在其里边写自定义的模板或者是样式,下面看看怎么使用:

    1.首先在Silverlight Application(Application Class library)右键添加文件夹,键入名字Theme(必须是这个)

    2.右键Theme文件夹新建文件,选择XML文件模板,写入名字 Generic.xaml(必须)

    3.打开Generic.xaml文件 键入代码

    <ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
    ="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local
    ="clr-namespace:ProSilverlight.Template;assembly=ProSilverlight">
    <Style TargetType="local:FlipPanel">
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="local:FlipPanel">

    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>
    </ResourceDictionary>

    可以看到就是一个资源字典,其中xmlns:local是该例子中要进行设置样式的类的所在namespace的引用;在字典中同样还是我们熟悉的Style的编码,可以看到TargetType的值就是一个自定义的Control(当前自定义Control基类为Control,可以自行创建)。

    到此,样式的工作已经完成,还差最后一步。

    4.在自定义Control指定默认样式:

            public FlipPanel()
    {
    this.DefaultStyleKey=typeof(FlipPanel);
    }

    没错,就是在自定义控件的构造函数中,指定DefaultStyleKey属性就搞定了。

     

  • 相关阅读:
    fastText源码分析
    excel文件使用html导出
    oracle中对字符串进行分割,并反回随机段
    oracle锁表进行关闭
    .net中MVC Webapi多参数调用控制器方法
    C#线程调用带参数的方法,给控件赋值
    C#post调用接口并上传文件
    C#调用GPG命令进行加密解密文件操作
    C#中图片转换为Base64编码,Base64编码转换为图片
    GPG加密windows中使用
  • 原文地址:https://www.cnblogs.com/ListenFly/p/2265088.html
Copyright © 2011-2022 走看看