建设一个网站需要多少钱,个人可以建购物网站吗,展厅设计规划,多姿wordpress通过frame与page实现在mvvm下的页面跳转 在wpf中登录成功之后怎么设置主页布局及点击不同的菜单跳转到不同的页面_哔哩哔哩_bilibili 1、MainWindow代码 DockPanelStackPanel DockPanel.DockTop Height40GridGrid.ColumnD… 通过frame与page实现在mvvm下的页面跳转 在wpf中登录成功之后怎么设置主页布局及点击不同的菜单跳转到不同的页面_哔哩哔哩_bilibili 1、MainWindow代码 DockPanelStackPanel DockPanel.DockTop Height40GridGrid.ColumnDefinitionsColumnDefinition Width1.5*/ColumnDefinitionColumnDefinition Width0.5*/ColumnDefinitionColumnDefinition Width0.5*/ColumnDefinition/Grid.ColumnDefinitionsTextBlock TextAGV调度管理系统 FontSize25 Grid.Column0 /TextBlockTextBlock Text欢迎您: FontSize20 Grid.Column1 HorizontalAlignmentRight/TextBlockTextBlock Text{Binding UserName, ModeOneWay} FontSize20 Grid.Column2 HorizontalAlignmentLeft ForegroundRed /TextBlock/Grid/StackPanelBorderWidth100Margin0,0,10,0Panel.ZIndex1Background#2f3336BorderBrush#1d2125BorderThickness3DockPanel.DockLeftStackPanel Margin0,0,10,0 OrientationVerticalBorder BorderBrush#3c5254 BorderThickness3ButtonMargin0,2HorizontalAlignmentStretchBackground#2f3336Command{Binding HomeCmd}Content主页CursorHandForegroundWhite //Border
Border BorderBrush#3c5254 BorderThickness3ButtonMargin0,3HorizontalAlignmentStretchBackground#2f3366Command{Binding NavView}CommandParametertaskContent任务CursorHandForegroundWhite //Border
Border BorderBrush#3c5254 BorderThickness3ButtonMargin0,3HorizontalAlignmentStretchBackground#2f3366Command{Binding NavView}CommandParameterqueueContent队列CursorHandForegroundWhite //Border/StackPanel/BorderGridFrame NameMainFrame NavigationUIVisibilityHidden Grid.Row1//Grid/DockPanel 2、创建一个TaskPage的页。 a、首先在项目下创建一个Pages的文件夹。 b、添加一个页文件命名为TaskPage.html
c、选择添加页。 在这个页面上添加三个页面我们后面会在项目中用到
3、在ViewModels下的MainWindowViewModel中添加如下代码为每个页面定义导航命令。
public class MainWindowViewModel : INotifyPropertyChanged{private Frame _frame;public event PropertyChangedEventHandler PropertyChanged;
public MainWindowViewModel(Frame frame) {_frame frame;}/// summary/// 跳转到TaskPage/// /summaryprivate ICommand _navigateToTaskPageCommand;
public ICommand NavigateToTaskPageCommand{get{return _navigateToTaskPageCommand ?? new RelayCommand(param NavigateToTaskPage());}}/// summary/// 跳转到QueuePage/// /summaryprivate ICommand _navigateToQueuePageCommand;
public ICommand NavigateToQueuePageCommand{get{return _navigateToQueuePageCommand ?? new RelayCommand(param NavigateToQueuePage());}}
protected void OnPropertyChanged(string propertyName){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));}
private void NavigateToTaskPage(){_frame.Navigate(new Uri(Pages/TaskPage.xaml,UriKind.Relative));}
private void NavigateToQueuePage(){_frame.Navigate(new Uri(Pages/QueuePage.xaml, UriKind.Relative));}
/// summary/// 登录之后用户名/// /summarypublic string? UserName{get{return UserInfoService.USER_NAME;}
}}
}
4、在MainWindows文件的Cs文件里修改代码如下
/// summary/// MainWindow.xaml 的交互逻辑/// /summarypublic partial class MainWindow : Window{public MainWindow(){InitializeComponent();DataContext new MainWindowViewModel(this.MainFrame);this.Loaded MainWindow_Loaded;}
private void MainWindow_Loaded(object sender, RoutedEventArgs e){MainFrame.Navigate(new Uri(Pages/MainPage.xaml, UriKind.Relative));}}
一个小作业
[!IMPORTANT]
如果有很多窗体也要一个一个这样写吗可以使用参数来处理。大家可以自己写一下。