91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ListView控件項動畫效果添加

發布時間:2024-09-10 17:11:41 來源:億速云 閱讀:82 作者:小樊 欄目:編程語言

在WPF中,為ListView控件項添加動畫效果,可以使用Storyboard和Trigger。以下是一個簡單的示例,展示了如何為ListView控件項的標題添加淡入淡出動畫效果。

首先,在XAML中添加ListView控件:

<Window x:Class="ListViewAnimationExample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:ListViewAnimationExample"
        mc:Ignorable="d"
        Title="ListView Animation Example" Height="200" Width="300">
    <Grid>
        <ListView x:Name="listView" HorizontalAlignment="Left" Height="160" Margin="10,10,0,0" VerticalAlignment="Top" Width="260">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock x:Name="title" Text="{Binding Title}" FontWeight="Bold" />
                        <Button Content="Delete" Click="DeleteButton_Click" Margin="5,0,0,0" />
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </Grid>
</Window>

接下來,在MainWindow.xaml.cs中添加數據模型和初始化代碼:

using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Animation;

namespace ListViewAnimationExample
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            // 初始化數據
            var items = new[]
            {
                new Item { Title = "Item 1" },
                new Item { Title = "Item 2" },
                new Item { Title = "Item 3" },
            };

            listView.ItemsSource = items;
        }

        private void DeleteButton_Click(object sender, RoutedEventArgs e)
        {
            var button = sender as Button;
            if (button?.CommandParameter is Item item)
            {
                listView.Items.Remove(item);
            }
        }
    }

    public class Item
    {
        public string Title { get; set; }
    }
}

最后,在MainWindow.xaml中添加動畫代碼:

<Window.Resources>
    <Style TargetType="{x:Type ListViewItem}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListViewItem}">
                    <Grid>
                        <Border x:Name="border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
                            <ContentPresenter x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" ContentStringFormat="{TemplateBinding ContentStringFormat}" />
                        </Border>
                        <VisualState x:Name="Normal">
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetName="title" BeginTime="0:0:0" Duration="0:0:0.5" From="0" To="1" AutoReverse="False" />
                            </Storyboard>
                        </VisualState>
                        <VisualState x:Name="MouseOver">
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetName="title" BeginTime="0:0:0" Duration="0:0:0.5" From="0" To="1" AutoReverse="False" />
                            </Storyboard>
                        </VisualState>
                        <VisualState x:Name="Selected">
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetName="title" BeginTime="0:0:0" Duration="0:0:0.5" From="0" To="1" AutoReverse="False" />
                            </Storyboard>
                        </VisualState>
                        <VisualState x:Name="Inactive">
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetName="title" BeginTime="0:0:0" Duration="0:0:0.5" From="1" To="0" AutoReverse="True" />
                            </Storyboard>
                        </VisualState>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

這個示例中,我們為ListViewItem定義了一個模板,并在其中添加了一個名為title的TextBlock。然后,我們為title元素創建了一個淡入淡出動畫,當鼠標懸停在ListView項上時,動畫效果會觸發。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔波县| 泸水县| 太保市| 屯留县| 长宁区| 鸡泽县| 石泉县| 杂多县| 万安县| 阳曲县| 博爱县| 马公市| 仁化县| 桓仁| 五华县| 新乐市| 莱州市| 子洲县| 高尔夫| 通化市| 福清市| 庐江县| 郎溪县| 宁乡县| 建德市| 鸡泽县| 孟连| 德昌县| 尤溪县| 河曲县| 昭苏县| 兴业县| 阳原县| 定日县| 襄城县| 宁夏| 周口市| 抚顺县| 漳平市| 合阳县| 屯门区|