最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何對新添加的項目進(jìn)行動畫處理以在 wpf 的列表視圖中列出

如何對新添加的項目進(jìn)行動畫處理以在 wpf 的列表視圖中列出

C#
LEATH 2023-09-24 11:07:04
我正在創(chuàng)建一個動態(tài)列表視圖lstDummies,其中包含一個虛擬 UserController dummyItem:dummyItem item;for (int i = 0; i < 100; i++){    item = new dummyItem ();    lstDummies.Items.Add(item);}這是虛擬項目 XAML :<UserControl x:Class="Kiosk.control.dummyItem"         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"          xmlns:d="http://schemas.microsoft.com/expression/blend/2008"          mc:Ignorable="d"          d:DesignHeight="300" d:DesignWidth="300"         x:Name="dummyItem"><Grid Background="BurlyWood">    <TextBox Text="hello world!" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBox></Grid></UserControl>這是我的 XAML: <ListView Grid.Row="1" x:Name="lstDummies">        <ListView.Resources>            <Style TargetType="{x:Type ListViewItem}">                <Style.Triggers>                    <EventTrigger RoutedEvent="Loaded">                        <EventTrigger.Actions>                            <BeginStoryboard>                                <Storyboard>                                    <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5">                                    </DoubleAnimation>                                </Storyboard>                            </BeginStoryboard>                        </EventTrigger.Actions>                    </EventTrigger>                </Style.Triggers>            </Style>        </ListView.Resources>        <ListView.ItemsPanel >            <ItemsPanelTemplate >                <UniformGrid VerticalAlignment="Top" HorizontalAlignment="Left" Columns="17"/>            </ItemsPanelTemplate>        </ListView.ItemsPanel> </ListView>現(xiàn)在,當(dāng)新項目添加到 lstDummies 時,我想要淡入淡出效果。
查看完整描述

1 回答

?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗 獲得超7個贊

這對我來說效果很好,即Opacity設(shè)置為0然后在ListViewItem加載后進(jìn)行動畫處理:


<ListView x:Name="lstDummies">

    <ListView.Resources>

        <Style TargetType="{x:Type ListViewItem}">

            <Setter Property="Opacity" Value="0" />

            <Style.Triggers>

                <EventTrigger RoutedEvent="Loaded">

                    <EventTrigger.Actions>

                        <BeginStoryboard>

                            <Storyboard>

                                <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2">

                                </DoubleAnimation>

                            </Storyboard>

                        </BeginStoryboard>

                    </EventTrigger.Actions>

                </EventTrigger>

            </Style.Triggers>

        </Style>

    </ListView.Resources>

    <ListView.ItemsPanel >

        <ItemsPanelTemplate >

            <UniformGrid VerticalAlignment="Top" HorizontalAlignment="Left" Columns="17"/>

        </ItemsPanelTemplate>

    </ListView.ItemsPanel>

    <ListView.ItemTemplate>

        <DataTemplate>

            <Rectangle Width="50" Height="50" Fill="Green" />

        </DataTemplate>

    </ListView.ItemTemplate>

</ListView>

如果您希望項目一項一項地淡入,您應(yīng)該在調(diào)用之間引入延遲Add:


private async void Button_Click(object sender, RoutedEventArgs e)

{

    for (int i = 0; i < 100; i++)

    {

        lstDummies.Items.Add(new dummyItem());

        await Task.Delay(100);

    }

}


查看完整回答
反對 回復(fù) 2023-09-24
  • 1 回答
  • 0 關(guān)注
  • 148 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號