如何在XAML中从父控件为子用户控件设置Label样式

时间:2013-12-16 11:48:04

标签: wpf styles parent-child

我创建了一个名为REPORT的用户控件。 我将此用户控件用作另一个名为MAIN的控件的子控件。 我在我的XAML代码中将一些REPORT控件附加到MAIN。 在REPORT中,有一些Label。 我需要在XAML中定义我的REPORT标签的Content属性。 有些REPORT的Label必须包含String X,有些必须包含字符串Y. 它取决于我的MAIN XAML树中REPORT对象的位置。

我认为样式很方便解决这个问题。 所以,我在MAIN XAML代码中写这个:

        <prest:REPORT>
            <prest:REPORT.Resources>
                <Style TargetType="Label" x:Key="style_x">
                    <Setter Property="Content" Value="X"/>
                </Style>
                <Style TargetType="Label" x:Key="style_y">
                    <Setter Property="Content" Value="Y"/>
                </Style>
            </prest:REPORT.Resources>
        </prest:REPORT>

但是,我是REPORT XAML代码,我无法访问style_x和style_y。

你能帮忙吗? 感谢。

1 个答案:

答案 0 :(得分:0)

您需要为perst定义样式:REPORT

类似的东西:

<Style x:Key="ReportStyleX" TargetType="{x:Type prest:REPORT}">
  <Style.Setter>
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate>
          <Label Style="{StaticResource style_x}"/>

...