C# 混合对数据的影响

C# 混合对数据的影响,c#,wpf,expression-blend,C#,Wpf,Expression Blend,有没有办法对数据中的文本执行效果淡入>淡出>淡入表达式混合wpf 例如: 我有一个表,比如SQL,其中包含数据: 姓名:杰克 姓名:Jhon 姓名:Jade 我该怎么做,杰克将显示-5秒后->杰克将淡出,然后杰恩将淡入。。等等 我知道如何连接sql,如何编写c类并在wpf上使用它,但如何才能实现示例中的效果?如果有expression blend,可以创建情节提要并在情节提要中的不同时间设置不透明度。当应用到文本时,它将淡入淡出 可以挂接到,然后将文本设置为下一个人,然后重新启动动画。我认为该页

有没有办法对数据中的文本执行效果淡入>淡出>淡入表达式混合wpf

例如:

我有一个表,比如SQL,其中包含数据:

姓名:杰克

姓名:Jhon

姓名:Jade

我该怎么做,杰克将显示-5秒后->杰克将淡出,然后杰恩将淡入。。等等


我知道如何连接sql,如何编写c类并在wpf上使用它,但如何才能实现示例中的效果?

如果有expression blend,可以创建情节提要并在情节提要中的不同时间设置不透明度。当应用到文本时,它将淡入淡出


可以挂接到,然后将文本设置为下一个人,然后重新启动动画。我认为该页上的示例也会对您有所帮助。

下面是一个实现此目标的示例

一个简单的数据模型

 public class ModelList : List<string>
    {
        public ModelList()
        {
            Add("John");
            Add("Jack");
            Add("Sue");
        }

        public int CurrentIndex = 0;
        public string CurrentItem
        {
            get
            {
                return this[CurrentIndex];
            }
        }
    }
你的主窗口

      public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        void ContinueAnimation()
        {
            ModelList list = Resources["ModelList"] as ModelList;
            if ( list.CurrentIndex < (list.Count -1))
            {
                list.CurrentIndex += 1;
                Storyboard b = Resources["FadeOut"] as Storyboard;
                b.Begin();
            }
        }

        private void Start_Click(object sender, RoutedEventArgs e)
        {
            ContinueAnimation();
        }

        private void FadeOut_Completed(object sender, EventArgs e)
        {
            ContinueAnimation();    
        }

    }
您的主窗口是xaml

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:app="clr-namespace:WpfApplication1"
        Title="MainWindow"
        Width="1000"
        Height="1000">
    <Window.Resources>
        <app:ModelList x:Key="ModelList" />
        <Storyboard x:Key="FadeOut" x:Name="FadeOut" Completed="FadeOut_Completed">
            <DoubleAnimation Duration="0:0:0.5"
                             Storyboard.TargetName="MyLabel"
                             Storyboard.TargetProperty="Opacity"
                             To="0" />
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="MyLabel" Storyboard.TargetProperty="Text">
                <DiscreteObjectKeyFrame KeyTime="0:0:0.5" Value="{Binding Source={StaticResource ModelList}, Path=CurrentItem}" />
            </ObjectAnimationUsingKeyFrames>
            <DoubleAnimation BeginTime="0:0:0.5"
                             Duration="0:0:1"
                             Storyboard.TargetName="MyLabel"
                             Storyboard.TargetProperty="Opacity"
                             To="1" />
        </Storyboard>
    </Window.Resources>
    <StackPanel>

        <TextBlock Name="MyLabel"
                   Width="100"
                   Height="24"
                   Background="AliceBlue"
                   Text="{Binding Source={StaticResource ModelList},
                                  Path=CurrentItem}" />

        <Button Name="Start"
                Height="30"
                HorizontalAlignment="Left"
                Click="Start_Click">
            Start
        </Button>

    </StackPanel>
</Window>

实际上,当我从数据中选择时,它总是选择一个名称。所以我需要为循环编写代码,并按照您在这里的建议执行。我是对的?还是有办法选择所有的名字?多漂亮的一个。我需要学习您编写的类,这太棒了。这些类需要什么名称空间?在我的示例项目中,我在WPFAApplication1名称空间中使用了它们。。。您选择的名称空间只是相应地更新xmlns:app