Как сделать несколько кнопок с разным фоном из одного шаблона в Expression Blend 4 - PullRequest
0 голосов
/ 16 ноября 2010

Я сделал простой шаблон кнопки из прямоугольника с помощью команды «Make in control ../ Button».Теперь мне нужно несколько кнопок из этого шаблона, но каждая кнопка должна иметь различное фоновое изображение.Я пытался сделать это в Blend4, но когда я изменяю фон кнопки, кнопка удерживает фон шаблона (или ничего, в зависимости от того, что установлено в шаблоне), игнорируя изображение, которое я установил для этой конкретной кнопки.Шаблон кнопки:

btnMenu (No brush)
    -rectangle (No brush)
    -[ContentPresenter] (some text)

Я ценю любой совет.

Стиль:

<Style x:Key="btnStyleMenuHome" TargetType="Button">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Grid x:Name="btnMenu" Width="90" Height="70" Margin="0" VerticalAlignment="Center" HorizontalAlignment="Center">
                            <Grid.Background>
                                <ImageBrush Stretch="None"/>
                            </Grid.Background>
                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="CommonStates">
                                    <VisualState x:Name="Normal"/>
                                    <VisualState x:Name="MouseOver"/>
                                    <VisualState x:Name="Pressed">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(TileBrush.Stretch)" Storyboard.TargetName="rectangle">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <Stretch>Uniform</Stretch>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="Disabled"/>
                                </VisualStateGroup>
                            </VisualStateManager.VisualStateGroups>
                            <Rectangle x:Name="rectangle" RadiusY="5" RadiusX="5" StrokeThickness="0" Width="90" Height="70" VerticalAlignment="Center" HorizontalAlignment="Center">
                                <Rectangle.Fill>
                                    <ImageBrush Stretch="None" ImageSource="images/someImage.png"/>
                                </Rectangle.Fill>
                            </Rectangle>
                            <ContentPresenter VerticalAlignment="Bottom" Margin="7,0" d:LayoutOverrides="Width" Height="25" HorizontalAlignment="Center"/>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Setter Property="Background">
                <Setter.Value>
                    <ImageBrush Stretch="None"/>
                </Setter.Value>
            </Setter>
        </Style>

1 Ответ

1 голос
/ 16 ноября 2010
...