[英]Transition effects between two windows in wpf application
我是WPF的新手,正在创建一个简单的应用程序。 基本上,该应用程序显示一个人的年龄。 我为此使用了两个窗口。 第一个窗口以DOB作为输入,第二个弹出窗口显示其当前年龄。 现在我想要的是对显示年龄的弹出窗口应用一些简单的过渡效果。 可能没有任何影响。 下面是主窗口的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)
{
}
}
}
组
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/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.