当先锋百科网

首页 1 2 3 4 5 6 7

刚接触WPF在夫窗口里点击打开一个新的窗口,刚开始学习不会,所以找了一些资料,谢了,.Net / WPF(113404016)群里的朋友衡阳-Aimeast提供的例子也学习了一下。

代码

Windows.xaml.cs

代码

publicpartialclassWindow1 : NavigationWindow

{publicWindow1()

{

InitializeComponent();

}privatevoidNavigationWindow_Navigating(objectsender, NavigatingCancelEventArgs e)

{if(Content!=null&&!_allowDirectNavigation)

{

e.Cancel=true;

_navArgs=e;this.IsHitTestVisible=false;

DoubleAnimation da=newDoubleAnimation(0.3d,newDuration(TimeSpan.FromMilliseconds(300)));

da.Completed+=FadeOutCompleted;this.BeginAnimation(OpacityProperty, da);

}

_allowDirectNavigation=false;

}privatevoidFadeOutCompleted(objectsender, EventArgs e)

{

(senderasAnimationClock).Completed-=FadeOutCompleted;this.IsHitTestVisible=true;

_allowDirectNavigation=true;switch(_navArgs.NavigationMode)

{caseNavigationMode.New:if(_navArgs.Uri==null)

{

NavigationService.Navigate(_navArgs.Content);

}else{

NavigationService.Navigate(_navArgs.Uri);

}break;caseNavigationMode.Back:

NavigationService.GoBack();break;caseNavigationMode.Forward:

NavigationService.GoForward();break;caseNavigationMode.Refresh:

NavigationService.Refresh();break;

}

Dispatcher.BeginInvoke(DispatcherPriority.Loaded,

(ThreadStart)delegate()

{

DoubleAnimation da=newDoubleAnimation(1.0d,newDuration(TimeSpan.FromMilliseconds(200)));this.BeginAnimation(OpacityProperty, da);

});

}privatebool_allowDirectNavigation=false;privateNavigatingCancelEventArgs _navArgs=null;

}

然后我们就开始做首页

index.xaml

代码

How To演示如何在多Page间的切换同时,在Page切换间加入Fade过渡May it helps.点击打开新页面>>

放了三张图片分别点开不同的页面然运用了

NavigationWindow 类

备注

NavigationWindow 派生自

内容可以是任何 .NET Framework 对象或 HTML 文件。 但是,一般而言,

通过用所需内容的 URI 来设置 此外,也可以使用

通过 URI 导航到内容时,NavigationWindow 将返回一个包含该内容的对象。

.cs

代码

privatevoidbutton1_Click(objectsender, MouseButtonEventArgs e)

{

NavigationService.Navigate(newUri("Page1.xaml", UriKind.Relative));

}privatevoidbutton2_Click(objectsender, MouseButtonEventArgs e)

{

NavigationService.Navigate(newUri("Page2.xaml", UriKind.Relative));

}privatevoidbutton3_Click(objectsender, MouseButtonEventArgs e)

{

NavigationService.Navigate(newUri("Page3.xaml", UriKind.Relative));

}

2、建立第一个PAGE1页

page1.xaml

代码

Page 1页面

Page1.xaml.cs后台,我们点击完后显示回到首页

代码

//Page1.xaml 的交互逻辑///NavigationService 封装了在浏览器样式的导航上下文中下载内容的能力///通过 URI 导航到内容时,NavigationService 将返回一个包含该内容的对象。///publicpartialclassPage1 : Page

{publicPage1()

{

InitializeComponent();

}privatevoidPage_MouseLeftButtonDown(objectsender, MouseButtonEventArgs e)

{

NavigationService.Navigate(newUri("Index.xaml", UriKind.Relative));

}

}

后面的首页代码和Page1页面效果一样,只不过图片不同,这样可以轻松的实例WPF多窗口切换效果