Привязка к стилю в моем приложении WP7 Silverlight - PullRequest
2 голосов
/ 03 февраля 2011

, на мой взгляд, у меня есть кнопка:

<Button Style="{StaticResource ButtonTextForwardStyle}" Content="My Text" Width="400" Height="100" />

в app.xaml, я пытаюсь определить стиль, который выглядит как

<ControlTemplate x:Key="ButtonTextForwardTemplate" TargetType="Button">
    <Grid>
        <vsm:VisualStateManager.VisualStateGroups>
            <vsm:VisualStateGroup x:Name="CommonStates">
                <vsm:VisualState x:Name="Normal"/>
                <vsm:VisualState x:Name="Pressed"/>
            </vsm:VisualStateGroup>
        </vsm:VisualStateManager.VisualStateGroups>
    </Grid>
</ControlTemplate>
<Style x:Key="ButtonTextForwardStyle" TargetType="Button">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Grid>
                    <vsm:VisualStateManager.VisualStateGroups>
                        <vsm:VisualStateGroup x:Name="CommonStates">
                            <vsm:VisualState x:Name="Normal"/>
                            <vsm:VisualState x:Name="Pressed">
                                <Storyboard Storyboard.TargetName="image" Storyboard.TargetProperty="Source">
                                    <ObjectAnimationUsingKeyFrames>
                                        <DiscreteObjectKeyFrame KeyTime="0" Value="pressedimage.png"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </vsm:VisualState>
                        </vsm:VisualStateGroup>
                    </vsm:VisualStateManager.VisualStateGroups>
                    <StackPanel Orientation="Horizontal">
                        <Image x:Name="image" Source="normalimage.png" Height="80" Width="100" Stretch="Fill" VerticalAlignment="Center"/>
                        <TextBlock Text="{Binding Content}" VerticalAlignment="Center" />
                    </StackPanel> 
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Я бы хотел, чтобы содержимое кнопки (мой текст) было привязано к TextBlock.Но похоже, что он не работает.

Как я могу это сделать?

Заранее благодарен за любую помощь.

С уважением

1 Ответ

3 голосов
/ 03 февраля 2011

Ваш TextBlock находится в шаблоне Button ControlTemplate, поэтому вы можете использовать TemplateBinding вместо Binding.

<TextBlock Text="{TemplateBinding Content}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...