非重复的创建动画的方式

时间:2013-06-26 14:25:42

标签: wpf vb.net expression-blend

我的应用程序中有五个标签。即lbl1lbl2lbl3lbl4lbl5

mouse over lbl1后,fontsize的{​​{1}}从lbl1变为24。 同时16layout width and heightincreases的{​​{1}} color也从lbl1更改为red

white Mouse lbl1时,以leaves顺序重复上述所有步骤。

我想对上面提到的reverse做同样的事情。

我正在使用all the labelsexpression blendwpf

至少可以任何人建议vb.nettutorialquery上搜索吗?

编辑:

google

2 个答案:

答案 0 :(得分:2)

您好我已根据您的要求创建了样本。

XAML
 <Grid Background="Black" >
    <Grid.Resources>
        <Style TargetType="{x:Type Label}">
            <Setter Property="Foreground" Value="White"/>
            <Setter Property="FontSize" Value="16"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Label}">
                        <ContentPresenter Content="{TemplateBinding Content}"/>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Foreground" Value="Red"/>
                                <Setter Property="FontSize" Value="24"/>                                  
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Grid.Resources>

    <StackPanel Orientation="Horizontal" VerticalAlignment="Top">
        <Label Content="First Text"/>
        <Label Content="Second Text" Margin="30 0"/>
        <Label Content="Third Text" Margin="30 0"/>
    </StackPanel>
</Grid>

答案 1 :(得分:1)

您需要为标签创建一个控件模板,如此msdn article所示。 之后,您需要定义触发器以更改字体,大小和颜色。 在triggers

上查看此论坛帖子

试试这些,如果您需要更多帮助,请告诉我们

修改

此处无需使用故事板。我们可以使用控制模板和触发器轻松实现此目的。检查代码

<Window.Resources>
        <Style x:Key="LabelStyle" TargetType="Label">
            <Setter Property="Foreground" Value="Green" />
            <Setter Property="FontSize" Value="16" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Label">
                        <Border>
                            <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                           />
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Foreground" Value="Red" />
                                <Setter Property="FontSize" Value="24" />

                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <StackPanel x:Name="StackPanelMenu" Height="65"  VerticalAlignment="Top" Orientation="Horizontal">
            <Label x:Name="lblCompany" Content="Company"  Width="102" VerticalAlignment="Center" Height="38"  Style="{StaticResource LabelStyle}" />
            <Label x:Name="lblMasters" Content="Masters" Width="86" VerticalAlignment="Center" Height="38"  Style="{StaticResource LabelStyle}" />
            <Label x:Name="lblTransactions" Content="Transactions" Width="127" Height="38" Style="{StaticResource LabelStyle}" />
            <Label x:Name="lblReports" Content="Reports" Width="82" VerticalAlignment="Center" Height="38" Style="{StaticResource LabelStyle}"/>
            <Label x:Name="lblSettings" Content="Settings" Width="88" VerticalAlignment="Center" Height="38" Style="{StaticResource LabelStyle}"  />
        </StackPanel>
    </Grid>
</Window>