本例是在上一案例中导航参数的基础上增加了导航的历史记录功能,就是向前向后的功能。 导航本身很简单,以下代码就实现了: public void OnNavigatedTo(NavigationContext navigationContext) { ...
2023-07-31编程代码NavigationJournal,Prism,sample例5中刚说到视图精确控制,这次说明这样的灵活控制是怎样做的,显示或不显示,或切换视图。 主页上显示了主按钮和一个ContentControl <DockPanel LastChildFill="True"> <StackPanel> ...
2023-07-29编程代码Deactivation,Prism,sample作用同上节,这里是用修改注册的方式自定义View和ViewModel的关联。 protected override void ConfigureViewModelLocator() { base.ConfigureViewModelLocator(); // type / ty...
2023-07-29编程代码CustomRegistrations,Prism,sample一下子跳到29,不是我的错,应该是新版本中去掉了一些过重的功能,案例就也去掉了,所以不是我的错。 本例是演示行为转命令的,事实上前面已经用到了。 xmlns:i="http://schemas.microsoft.com/xaml/behaviors"...
2023-07-29编程代码InvokeCommandAction,Prism,sample终于发现一个有趣的新知识了。 本例的核心是RegionContext,意思是一个区域的上下文。但与DataContext似乎并不相同。 先看一下整体思路。 在主窗体上只有一个Region: <Grid> <ContentControl pr...
2023-07-29编程代码Prism,RegionContext,sample同17相比,在导航方法中增加了回调函数 private void Navigate(string navigatePath) { if (navigatePath != null) _regionManager.RequestNavigate("ContentRegion", navig...
2023-07-29编程代码NavigationCallback,Prism,sample这个例子是说明导航中传递参数,类似Asp.net中实现。 例子的模板,是例16中使用regionContext实现过的。在例16中, <Grid x:Name="LayoutRoot" Background="White" Margin="10"> <Grid.RowDefin...
2023-07-29编程代码PassingParameters,Prism,sample本例的知识点,全在ViewModel中,看代码: 1 public class MainWindowViewModel : BindableBase 2 { 3 private bool _isEnabled; 4 public bool IsEnabled 5 { 6 ...
2023-07-29编程代码Prism,sample,UsingDelegateCommands导航到一个视图,如果在离开这个视图时需要确认,在VM中实现以下接口 public class ViewAViewModel : BindableBase, IConfirmNavigationRequest { public ViewAViewModel() { } ...
2023-07-29编程代码ConfirmCancelNavigation,Prism,sample这次是事件聚合器的应用。 事件聚合器应用第一步:定义一个事件聚合器,应该是一个可访问的公共区域,例14为它做了一个core的项目。代码很简单: using Prism.Events; namespace UsingEventAggregator.Core { ...
2023-07-12编程代码Prism,sample,UsingEventAggregatorNavigation Participation,不知翻译方法,意思是对导航过程的参与,触发事件,类似离开导航目标和进入导航的回调 在VM中,增加一个接口 ,然后实现导航事件 public class ViewAViewModel : BindableBase, INavig...
2023-07-11编程代码NavigationParticipation,Prism,sample本例中,主页是一个按钮,绑定了一个复合命令,然后下面一个TabControl <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition He...
2023-06-28编程代码Prism,sample,UsingCompositeCommands这次是事件聚合器的应用。 事件聚合器应用第一步:定义一个事件聚合器,应该是一个可访问的公共区域,例14为它做了一个core的项目。代码很简单: using Prism.Events; namespace UsingEventAggregator.Core { ...
2023-06-25编程教程Prism,sample,UsingEventAggregator这个例子是说明导航中传递参数,类似Asp.net中实现。 例子的模板,是例16中使用regionContext实现过的。在例16中, <Grid x:Name="LayoutRoot" Background="White" Margin="10"> <Grid.RowDefin...
2023-06-20编程教程PassingParameters,Prism,sample