在 Silverlight 2 项目中创建控件的外观

此页仅适用于 Silverlight 2 项目

通过使用静态资源来定义系统控件应用的模板,可在 Microsoft Silverlight 2 中自定义这些控件的外观。例如,可以为按钮创建一个模板,该模板使用图像而不是矩形来构建该按钮的外观。

若要在不同的控件模板或不同的用户控件之间创建统一的外观,可以将各个属性转换为静态资源,然后将其应用于这些模板和用户控件。例如,可以将按钮模板的边框颜色转换为资源,然后将该颜色资源应用于复选框模板或自定义用户控件的边框属性。

若要在其他项目中重用这些模板和资源,可以将这些资源移入 App.xaml 文件中,然后将其粘贴到其他项目的 App.xaml 文件中。通过将资源移到 App.xaml 文件,此文件将成为应用程序的外观库。

创建控件的模板

创建用户控件

将属性转换为静态资源

  1. 在美工板上选择一个要在其他控件中重用其属性值的对象。

  2. 在“属性”面板的属性 Dd185519.cee1494c-ef95-4dd4-9fbc-9d02edfa78b7(zh-cn,Expression.10).png 视图中,找到要重用的属性。

    Dd185519.alert_tip(zh-cn,Expression.10).gif提示:

    您可以使用“属性”面板中的“搜索”文本框,按照属性名称中的字符迅速找到属性。

    Dd185519.a1e4026a-4e48-4f0c-8898-3783121e57fa(zh-cn,Expression.10).png

    输入的文本将会筛选属性列表。

    Dd185519.c286ad76-70a6-41f7-bed6-d6d4ad69e549(zh-cn,Expression.10).png

    若要还原“属性”面板,请单击“搜索”文本框旁的“清除”Dd185519.1d1f5548-6c7a-46bd-9d93-591edc576888(zh-cn,Expression.10).png 按钮。

  3. 执行下列操作之一:

    • 如果要重用“画笔”,请选择画笔,然后单击“将画笔转换为资源”Dd185519.c6247e94-077c-40e1-8979-7886a2eaa8ef(zh-cn,Expression.10).png 按钮。

      Dd185519.fdc0c10a-e13a-46cd-8cf8-42189fd20550(zh-cn,Expression.10).png

    • 如果要重用画笔所应用的颜色,请选择所需的画笔(如果是“纯色画笔”Dd185519.3a66ec96-47bb-47fc-8876-6b9456feec3a(zh-cn,Expression.10).png),或者选择与所要重用的颜色相对应的梯度停止点 Dd185519.d45e017e-3123-4fc1-9d99-e87b4e3e2202(zh-cn,Expression.10).png(如果是“渐变画笔” Dd185519.91fb0c61-7b3b-4ae7-8a59-760e625e3bd7(zh-cn,Expression.10).png)。然后,单击“将颜色转换为资源”Dd185519.6bf68607-add8-4d87-b6f4-100c8f05dd17(zh-cn,Expression.10).png 按钮。

      Dd185519.89203705-cf66-46e0-b153-52a23cd744f7(zh-cn,Expression.10).png

    • 如果要重用数值或其他值类型,请单击该属性旁的“高级属性选项”Dd185519.d6ba8f4a-b8a2-445a-af0b-a267dfade6e1(zh-cn,Expression.10).png 按钮,然后单击“转换为新资源”。

      Dd185519.3f69215a-f522-4347-88fb-f6b219f5419e(zh-cn,Expression.10).png

  4. 在显示的对话框(名为“创建 <类型> 资源”)中,为资源输入一个有意义的名称,然后单击“确定”。

    此时,将会创建资源,并将其列在“资源”面板中。

    Dd185519.97203920-a26b-4bb5-b0ed-9c71ae6973d3(zh-cn,Expression.10).png

    有关如何在创建资源后加以修改的信息,请参阅修改资源

向其他属性应用资源

向属性应用资源的方法有很多。

将资源从“资源”面板中拖动加以应用

  1. 在“资源”面板中,将资源拖到美工板上的控件。

    将字体系列资源拖到复选框控件上

    Dd185519.8290ff37-d8e8-479f-89f3-a04118ab186b(zh-cn,Expression.10).png

  2. 从显示的下拉菜单中,选择要应用资源的控件的属性。

    向复选框的“FontFamily”属性应用字体系列资源

    Dd185519.2063f03b-e8ad-46cb-9f12-7898b6bc1f43(zh-cn,Expression.10).png

利用“高级属性选项”菜单来应用资源

  1. 在“属性”面板的属性 Dd185519.cee1494c-ef95-4dd4-9fbc-9d02edfa78b7(zh-cn,Expression.10).png 视图中,找到要设置为资源的属性。

  2. 单击“高级属性选项”Dd185519.d6ba8f4a-b8a2-445a-af0b-a267dfade6e1(zh-cn,Expression.10).png 按钮,并指向“本地资源”,然后从显示的下拉列表中选择资源名称。

应用画笔资源

  1. 在“属性”面板的属性 Dd185519.cee1494c-ef95-4dd4-9fbc-9d02edfa78b7(zh-cn,Expression.10).png 视图中,选择要设置为资源的画笔。

  2. 在“画笔资源”Dd185519.415db740-5a54-48d2-8678-245ccfa7ee8b(zh-cn,Expression.10).png 选项卡中,选择资源的名称。

    Dd185519.af28e5e4-4861-45ac-b02d-e65386520ed7(zh-cn,Expression.10).png

应用颜色资源

  1. 在“属性”面板的属性 Dd185519.cee1494c-ef95-4dd4-9fbc-9d02edfa78b7(zh-cn,Expression.10).png 视图中,选择要将其颜色设置为资源的画笔。如果该画笔是“渐变画笔”Dd185519.91fb0c61-7b3b-4ae7-8a59-760e625e3bd7(zh-cn,Expression.10).png,则选择与该颜色相对应的梯度停止点 Dd185519.d45e017e-3123-4fc1-9d99-e87b4e3e2202(zh-cn,Expression.10).png

  2. 在“颜色资源”选项卡中,选择资源的名称。

    Dd185519.5cb88f90-c17a-4dad-be87-b6be7d74f410(zh-cn,Expression.10).png

向相同类型的其他控件应用模板

向控件应用模板的方法有很多。

通过在“资源库”中选择模板并绘制新控件来应用模板

  1. 在“工具箱”中,打开“资源库”Dd185519.0224cabd-5da1-4e01-bddd-4a647401a098(zh-cn,Expression.10).png

  2. 在“资源库”的“本地样式”选项卡中,选择所创建的模板。

  3. 在美工板上,使用鼠标指针绘制范围框。

    此时,将绘制一个与选定模板相匹配的新控件,并且自动应用该模板。

通过从“资源”面板中拖动模板来应用模板

  1. 在“资源”面板中,将模板资源拖到美工板的控件上。

  2. 从显示的下拉菜单中,选择“Style”属性。

通过使用“高级属性选项”菜单应用模板

  1. 选择要应用模板的对象。

  2. 在“属性”面板的属性 Dd185519.cee1494c-ef95-4dd4-9fbc-9d02edfa78b7(zh-cn,Expression.10).png 视图中,找到“Style”属性。

  3. 在“Style”属性旁边,单击“高级属性选项”Dd185519.d6ba8f4a-b8a2-445a-af0b-a267dfade6e1(zh-cn,Expression.10).png 按钮,并指向“本地资源”,然后从显示的下拉列表中选择模板的名称。

将资源移到 App.xaml 文件中

  • 如果创建资源时未曾在 App.xaml 文件中定义这些资源,可以通过在“资源”面板中进行拖动的方式将资源移到 App.xaml 文件中。

    Dd185519.alert_tip(zh-cn,Expression.10).gif提示:

    如果未看到资源,则可能需要展开文档节点(通常是 Page.xaml)下方的节点。

将资源复制到其他项目

  1. 在“项目”面板中,双击 App.xaml 文件,在美工板上将其打开。

  2. 在“设计”视图中无法查看 App.xaml 文件,因此请选择位于美工板右侧的“XAML”选项卡。

  3. 资源在 <Application.Resources> 标记之间定义。

    <Application.Resources>
    </Application.Resources>
    

    在这些标记内,属性资源是用表示所属属性类型的标记定义的。“Key”属性表示为资源指定的名称。

      <FontFamily x:Key="ApplicationFont">Segoe UI</FontFamily>
      <LinearGradientBrush x:Key="BorderBrush" EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="#FF000000"/>
        <GradientStop Color="#FFC64545" Offset="1"/>
      </LinearGradientBrush>
    

    模板在 <Style> 标记之间定义。“Key”属性表示为模板指定的名称。

      <Style x:Key="ImageButton" TargetType="Button">
        <Setter Property="Background" Value="#FF1F3B53"/>
        <Setter Property="Template">
          ...
        </Setter>
      </Style>
    
  4. 突出显示表示要移到其他项目中的资源的 XAML,然后按 CTRL+C 加以复制。

  5. 在 Expression Blend 中打开其他项目,利用“XAML”视图在美工板上打开 App.xaml 文件,将指针直接插在 <Application.Resources> 标记之后,然后按 CTRL+V 来粘贴资源。

  6. 确保先前已有的所有资源中的所有项名称均未重复。

  7. 生成项目 (CTRL+SHIFT+B) 以确保所复制的新资源准确无误。

    Dd185519.alert_tip(zh-cn,Expression.10).gif提示:

    再者,还可以将整个 App.xaml 文件复制到新项目中,然后只需将“x:Class”属性中的名称更改为新项目的名称即可。

    <Application

    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"

    x:Class="ProjectName.App" ...

后续步骤

  • 您可以在 Expression 社区网站(此链接可能指向英文页面)上的“操作方式”视频教程中观看如何创建按钮和复选框控件的外观。