麻应用平铺动画
本文关键字:动画 应用 | 更新日期: 2023-09-27 18:34:23
我想将动态磁贴效果添加到我的 wpf 应用程序布局上的磁贴中。我正在使用MahApps.Metro库进行视觉效果。这是我在布局上的一个磁贴示例 -
<Controls:Tile Height="110" Background="#9c6b50" Width="180" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,105,33,0">
<Controls:Tile.Content>
<TextBlock Text="Setup Your Savings Account" TextWrapping="Wrap" Width="121" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Controls:Tile.Content>
</Controls:Tile>
我希望磁贴的最终产品在这两个文本之间切换:
- 设置您的储蓄账户
- 点击此处设置您的储蓄账户
普遍接受的方法是绑定 Text 属性。绑定如下所示:
<TextBlock Text="{Binding Path=TileText}" TextWrapping="Wrap" Width="121" HorizontalAlignment="Center" VerticalAlignment="Center"/>
这样做是将 TextBlock 的值绑定到控件的 DataContext 上名为 TileText 的属性。您需要查看 WPF 中的 DataContext 和绑定才能理解这一点。
一旦你有一个带有该属性的类:
public string TileText
{
get {...}
set {...}
}
并且该类被设置为Tile控件的DataContext,您可以更改TileText属性的值,它将更改TextBlock的文本。这是 MVVM 设计的一个简单示例,可以作为理解智能 WPF 设计实践的良好第一步。
干杯Eric
试试这个!
<controls:Tile Height="110" Background="#9c6b50" Width="180" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,105,33,0">
<controls:Tile.Style>
<Style TargetType="controls:Tile">
<Setter Property="Content">
<Setter.Value>
<TextBlock Text="Setup Your Savings Account" TextWrapping="Wrap" Width="121" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Content">
<Setter.Value>
<TextBlock Text="Click here to Setup Your Savings Account" TextWrapping="Wrap" Width="121" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</controls:Tile.Style>
</controls:Tile>