0

私は WPF を初めて使用し、単純なアプリケーションを作成しています。基本的に、アプリケーションは人の年齢を示します。これには2つのウィンドウを使用しました。最初のウィンドウは入力として生年月日を受け取り、2 番目のポップアップ ウィンドウには現在の年齢が表示されます。今私が欲しいのは、年齢を示すポップアップウィンドウにいくつかの簡単なトランジション効果を適用することです. どんな効果でも構いません。以下は、メイン ウィンドウへの c# コードです。

namespace WpfApplication6
{

    public partial class MainWindow : Window
    {
        int year;
        public MainWindow()
        {
            InitializeComponent();
            string n = DateTime.Now.ToString();
        }

        private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {


        }

        private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
        }


        private void button1_Click(object sender, RoutedEventArgs e)
        {
            string yearlist = comboBox3.SelectionBoxItem.ToString();
            string date = comboBox1.SelectionBoxItem.ToString();
            string month= comboBox2.SelectionBoxItem.ToString();
            if (date == "DD")
            { MessageBox.Show("Select date"); }
            else
            {
                if (month == "MM")
                { MessageBox.Show("Select month"); }
                else
                {

                    if (yearlist == "YYYY")
                    { MessageBox.Show("Select year"); }
                    else
                    {
                        System.DateTime dob = new System.DateTime(Convert.ToInt16(comboBox3.SelectionBoxItem), Convert.ToInt16(comboBox2.SelectionBoxItem), Convert.ToInt16(comboBox1.SelectionBoxItem), 12, 0, 0);

                        System.TimeSpan diff = DateTime.Now.Subtract(dob);
                        year = (Convert.ToInt32(diff.Days) / 365);
                        int days = (Convert.ToInt32(diff.Days) % 365);
                        string str = string.Format("Age is:{0} years and {1} days", year, days);
                        newwindow nw = new newwindow(str);
                        nw.Show();

                  }
                }
            }

        }

        private void comboBox2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {

        }
    }
}

ポップアップウィンドウへのコード

namespace WpfApplication6
{

    public partial class newwindow : Window
    {

        public newwindow(string strmsg)
        {
            InitializeComponent();
            label1.Content = strmsg;
        }

        private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
        {

        } 
    }
}
4

1 に答える 1

0

セットする

otherWindow.Opacity=0; 
otherWindow.Show();

0から1までの単純な不透明度アニメーションの反復を適用します。これにより、フェードイン効果が向上します。

DoubleAnimation da = new DoubleAnimation();
da.From = 1;
da.To = 0;
da.Duration = new Duration(TimeSpan.FromSeconds(2));
da.AutoReverse = true;
da.RepeatBehavior = RepeatBehavior.Forever;
// da.RepeatBehavior=new RepeatBehavior(3);
rectangle1.BeginAnimation(OpacityProperty, da);

http://tarundotnet.wordpress.com/2011/03/18/wpf-tutorial-change-opacity-using-animation/を参照してください

于 2012-09-26T06:42:15.623 に答える