我创建了一个名为REPORT的用户控件。我将此用户控件用作另一个名为MAIN的控件的子控件。我在XAML代码中将一些REPORT控件附加到MAIN。在REPORT中,有一些标签。我需要在XAML中定义REPORT的Label的Content属性。有些REPORT的标签必须包含字符串X,有些必须包含字符串Y。它取决于REPORT对象在我的MAIN XAML树中的位置。
我认为用风格来解决这个问题很方便。所以,我在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。
你能帮忙吗?谢谢
您需要为prest:REPORT 定义一个样式
类似的东西:
<Style x:Key="ReportStyleX" TargetType="{x:Type prest:REPORT}">
<Style.Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Label Style="{StaticResource style_x}"/>