代码之家  ›  专栏  ›  技术社区  ›  Nick Gotch

如何将属性值链接到Blend 4中样式的属性?

  •  0
  • Nick Gotch  · 技术社区  · 14 年前

    我在Blend 4中为按钮创建了一个样式模板,但我不知道如何将标签的内容链接到按钮的内容属性。

    以下是样式XAML:

    <Style x:Key="NavButton" TargetType="Button">
        <Setter Property="Background" Value="#FF1F3B53"/>
        <Setter Property="Foreground" Value="#FF000000"/>
        <Setter Property="Padding" Value="3"/>
        <Setter Property="BorderThickness" Value="1"/>
        <Setter Property="BorderBrush">
            <Setter.Value>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FFA3AEB9" Offset="0"/>
                    <GradientStop Color="#FF8399A9" Offset="0.375"/>
                    <GradientStop Color="#FF718597" Offset="0.375"/>
                    <GradientStop Color="#FF617584" Offset="1"/>
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid>
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Disabled"/>
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver"/>
                                <VisualState x:Name="Pressed"/>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Rectangle Stroke="#FF0E1AD2" RadiusY="7" RadiusX="7" StrokeThickness="4">
                            <Rectangle.Fill>
                                <LinearGradientBrush EndPoint="0.517,1.07" StartPoint="0.511,0.001">
                                    <GradientStop Color="#FF1828AB" Offset="1"/>
                                    <GradientStop Color="#FFFBDEDE"/>
                                </LinearGradientBrush>
                            </Rectangle.Fill>
                        </Rectangle>
                        <Rectangle Margin="15,6,11,15" RadiusY="7" RadiusX="7" Stroke="#FF0E11D2" StrokeThickness="0">
                            <Rectangle.Fill>
                                <SolidColorBrush Color="White" Opacity="0.3"/>
                            </Rectangle.Fill>
                        </Rectangle>
                        <sdk:Label Margin="8" RenderTransformOrigin="1.567,-0.25" HorizontalContentAlignment="Center" Content="Button"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    
    1 回复  |  直到 13 年前
        1
  •  1
  •   Tim Cooper    13 年前

    您可以使用模板绑定将控件模板内的控件绑定到它们正在模板化的控件的属性。例如:

    <Label Content="{TemplateBinding Content}"/>