当前位置: 首页 > wzjs >正文

衢州做网站seo门户网站建设方案

衢州做网站,seo门户网站建设方案,广告接单平台app,网站建设岗位将来有什么发展以下是一个简单的WPF示例,演示如何在三个Page之间进行导航切换,使用Frame控件作为导航容器,并包含基本的导航按钮(前进/后退/主页) Page类更简单,比Window更精简。 代码见下文以及资源文件: htt…

         以下是一个简单的WPF示例,演示如何在三个Page之间进行导航切换,使用Frame控件作为导航容器,并包含基本的导航按钮(前进/后退/主页)

        Page类更简单,比Window更精简。

        代码见下文以及资源文件:

 https://download.csdn.net/download/qq_34047402/90919296

5WPF中的Page页面的使用资源-CSDN文库

 本例介绍如下界面实现:

一、Page的显示

Page可以放到Frame中。

1), Frame的  NavigationUIVisibility ="Visible" 可以显示导航的小图标。

 <Frame x:Name="MainFrame" Grid.Column="1" NavigationUIVisibility="Visible"/>

2).使用Frame的Navigate方法可以导航到某个页面,如下文

  MainFrame.Navigate(new Page1()); 

3)页面之间跳转可以使用超级链接或者NavigationService.Navigate实现,

a). NavigationService

        NavigationService.Navigate(new Page3());

        其中NavigationService:获得了页的宿

b). 使用Frame的GoBack,GoForward函数

 if (MainFrame.CanGoBack)
     MainFrame.GoBack();

if (MainFrame.CanGoForward)
    MainFrame.GoForward();

c). 超级链接

 <TextBlock Margin="10">
     click <Hyperlink NavigateUri="Page3.xaml" > 这儿</Hyperlink> 到页面3
 </TextBlock>

如果想对URi做验证,可以添加事件RequestNavigate 来处理具体的导航请求。

 <TextBlock Margin="10">
     click <Hyperlink NavigateUri="Page3.xaml"  RequestNavigate="Hyperlink_RequestNavigate"> 这儿</Hyperlink> 到页面3
 </TextBlock>

 private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
 {
     if (e.Uri != null)
     {
         // 获取当前NavigationService并导航
         var navService = NavigationService.GetNavigationService((DependencyObject)sender);
         navService?.Navigate(new Uri(e.Uri.ToString(), UriKind.RelativeOrAbsolute));
         e.Handled = true;   //设置为 true 表示事件已处理
     }

 }

关于参数 RequestNavigateEventArgs:

属性/方法说明
e.Uri获取Hyperlink中指定的目标URI(如 NavigateUri="Page2.xaml"
e.Handled设置为 true 表示事件已处理,阻止默认行为(必须设置!)
e.Source事件源(即Hyperlink控件本身)

二、代码如下

<Window x:Class="WpfApp1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApp1"mc:Ignorable="d"Title="Page导航示例" Height="450" Width="800"><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><!-- 导航按钮 --><StackPanel Grid.Row="0" Orientation="Vertical" Background="LightGray"><Button Content="首页" Margin="5" Padding="10,2" Click="GoToHome_Click"/><Button Content="上一页" Margin="5" Padding="10,2" Click="GoBack_Click"/><Button Content="下一页" Margin="5" Padding="10,2" Click="GoForward_Click"/><Button Content="用Command跳转到页面2" Margin="5" Padding="10,2" Command="{Binding NavigationToPageCommand}" CommandParameter="/Pages/Page2.xaml"                    /><Button Content="用Command跳转到页面3" Margin="5" Padding="10,2" Command="{Binding NavigationToPageCommand}" CommandParameter="/Pages/Page3.xaml"        /><TextBlock Margin="10" VerticalAlignment="Center" Text="{Binding ElementName=MainFrame, Path=Content.Title}"/></StackPanel><!-- 导航容器 --><Frame x:Name="MainFrame" Grid.Column="1" NavigationUIVisibility="Hidden"/></Grid>
</Window>

<Page x:Class="WpfApp1.Pages.Page1"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" xmlns:local="clr-namespace:WpfApp1.Pages"mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"Title="页面1欢迎"><StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"><TextBlock Text="这是页面1" FontSize="24" Margin="10"/><Button Content="前往页面2" Click="NavigateToPage2" Width="100" Margin="10"/></StackPanel>
</Page>
  public partial class Page1 : Page{public Page1(){InitializeComponent();}private void NavigateToPage2(object sender, RoutedEventArgs e){NavigationService.Navigate(new Page2());}}
public partial class Page2 : Page
{public Page2(){InitializeComponent();}private void NavigateToPage3(object sender, RoutedEventArgs e){NavigationService.Navigate(new Page3());}private void GoBackToPage1(object sender, RoutedEventArgs e){NavigationService.GoBack();}
}public partial class Page3 : Page{public Page3(){InitializeComponent();}private void GoToHome(object sender, RoutedEventArgs e){// 直接导航到Page1(清空导航历史)NavigationService.Navigate(new Page1());}}public partial class MainWindow : Window{public MainWindow(){InitializeComponent();this.DataContext = new MainViewModel(this.MainFrame);}private void GoToHome_Click(object sender, RoutedEventArgs e){MainFrame.Navigate(new Page1());}private void GoBack_Click(object sender, RoutedEventArgs e){if (MainFrame.CanGoBack)MainFrame.GoBack();}private void GoForward_Click(object sender, RoutedEventArgs e){if (MainFrame.CanGoForward)MainFrame.GoForward();}}public class MainViewModel{private Frame _frame;public MainViewModel(Frame frame){_frame = frame;}private ICommand _navigationToPageCommand;public ICommand NavigationToPageCommand {get{return _navigationToPageCommand ?? new RelayCommand<object>( NavigationToPage, (s) => true);}set{_navigationToPageCommand = value;}}private void NavigationToPage(object page){try{string pageUrl = page as string;if(pageUrl!=null){_frame.Navigate(new Uri(pageUrl, UriKind.Relative));}}catch(Exception ex){}}}

http://www.dtcms.com/wzjs/267737.html

相关文章:

  • 网站免费推广方式网络推广网上营销
  • 网站模板及素材百度提升优化
  • 成都网站推广优化公司网站优化检测
  • 高端网站建设公司怎么做推广网络营销的特点有哪些特点
  • 网站技术架构图苏州seo网站公司
  • 毕节市城乡住房建设网站长春seo排名公司
  • 免费网站在线观看人数在哪买怎么让关键词快速上首页
  • 金华专业网站建设公司sem是什么检测分析
  • 做网站 前途seox
  • 门户网站建设意见设计个人网站
  • asp.net网站打不开html页面深圳网站建设哪家好
  • 能通过淘宝网站做淘宝客吗今日油价92汽油价格表
  • 平面网页设计培训sem和seo是什么职业
  • 武汉网站建设哪家好镇江交叉口优化
  • 利趣网站开发商搜索引擎优化的步骤
  • 网站开发程序员是做什么的seo黑帽是什么
  • 株洲网络营销推广百度官网优化
  • 做游戏网站用什么系统做淘宝seo推广优化
  • 酒泉建设局造价官网站北京环球影城每日客流怎么看
  • php怎么用来做网站净水器十大品牌
  • 如何在网站源码做授权搜索引擎营销原理
  • 优化seo招聘贵州seo和网络推广
  • 张家港保税区规划建设局网站金城武重庆森林经典台词
  • 做网站要什么语言百度我的订单
  • 江苏昆山网站建设兰州网络优化seo
  • 延吉做网站网站建设优化
  • 建网站 铸品牌 做推广哪里做网站便宜
  • 如何做网站帮别人赚钱微信推广文案
  • 电子业网站建设百度在线客服人工服务
  • 学做系统的网站查询网址域名