提交记录修改UI/Controls/PageContainer.cs+124 −20看文件
修改UI/Controls/Window/DefaultWindow.cs+55 −2看文件
修改UI/Controls/Window/DefaultWindowCommands.cs+2 −0看文件
修改UI/MainWindow.xaml+5 −3看文件
修改UI/Models/MainWindowModel.cs+7 −0看文件
修改UI/Themes/Window/DefaultWindow.xaml+27 −4看文件
修改UI/ViewModels/MainViewModel.cs+5 −0看文件
| @@ -13,6 +13,14 @@ namespace UI.Controls | ||
| 13 | 13 | public class PageContainer : Control |
| 14 | 14 | { |
| 15 | 15 | #region 依赖属性 |
| 16 | 新增: public List<string> IndexUriList | |
| 17 | 新增: { | |
| 18 | 新增: get { return (List<string>)GetValue(IndexUriListProperty); } | |
| 19 | 新增: set { SetValue(IndexUriListProperty, value); } | |
| 20 | 新增: } | |
| 21 | 新增: public static readonly DependencyProperty IndexUriListProperty = | |
| 22 | 新增: DependencyProperty.Register("IndexUriList", typeof(List<string>), typeof(PageContainer)); | |
| 23 | 新增: | |
| 16 | 24 | public string Title |
| 17 | 25 | { |
| 18 | 26 | get { return (string)GetValue(TitleProperty); } |
| @@ -93,12 +101,22 @@ namespace UI.Controls | ||
| 93 | 101 | DependencyProperty.Register("BackCommand", |
| 94 | 102 | typeof(Command), |
| 95 | 103 | typeof(PageContainer)); |
| 104 | 新增: | |
| 105 | 新增: | |
| 106 | 新增: public PageContainer Instance { get { return (PageContainer)GetValue(InstanceProperty); } set { SetValue(InstanceProperty, value); } } | |
| 107 | 新增: | |
| 108 | 新增: public static readonly DependencyProperty InstanceProperty = DependencyProperty.Register("Instance", typeof(PageContainer), typeof(PageContainer)); | |
| 96 | 109 | #endregion |
| 97 | 110 | |
| 111 | 新增: /// <summary> | |
| 112 | 新增: /// 加载页面完成后发生 | |
| 113 | 新增: /// </summary> | |
| 114 | 新增: public event EventHandler OnLoadPaged; | |
| 115 | 新增: | |
| 98 | 116 | private readonly string ProjectName; |
| 99 | 117 | private List<string> Historys; |
| 100 | 删除: private int Index = -1, OldIndex = -1; | |
| 101 | 删除: private Frame Frame; | |
| 118 | 新增: public int Index = 0, OldIndex = 0; | |
| 119 | 新增: private Dictionary<string, object> PageCache; | |
| 102 | 120 | public PageContainer() |
| 103 | 121 | { |
| 104 | 122 | DefaultStyleKey = typeof(PageContainer); |
| @@ -107,40 +125,97 @@ namespace UI.Controls | ||
| 107 | 125 | BackCommand = new Command(new Action<object>(OnBackCommand)); |
| 108 | 126 | NavigationCommands.BrowseBack.InputGestures.Clear(); |
| 109 | 127 | NavigationCommands.BrowseForward.InputGestures.Clear(); |
| 128 | 新增: PageCache = new Dictionary<string, object>(); | |
| 129 | 新增: } | |
| 130 | 新增: public override void OnApplyTemplate() | |
| 131 | 新增: { | |
| 132 | 新增: base.OnApplyTemplate(); | |
| 133 | 新增: | |
| 134 | 新增: Loaded += PageContainer_Loaded; | |
| 135 | 新增: } | |
| 136 | 新增: | |
| 137 | 新增: private void PageContainer_Loaded(object sender, RoutedEventArgs e) | |
| 138 | 新增: { | |
| 139 | 新增: Instance = this; | |
| 110 | 140 | } |
| 111 | 141 | |
| 112 | 142 | private void OnBackCommand(object obj) |
| 143 | 新增: { | |
| 144 | 新增: Back(); | |
| 145 | 新增: } | |
| 146 | 新增: | |
| 147 | 新增: public void Back() | |
| 113 | 148 | { |
| 114 | 149 | if (Index - 1 >= 0) |
| 115 | 150 | { |
| 116 | 151 | OldIndex = Index; |
| 117 | 152 | Index--; |
| 118 | 删除: Uri = Historys[Index]; | |
| 119 | 删除: Historys.RemoveRange(Index + 1, Historys.Count - (Index + 1)); | |
| 153 | 新增: string uri = Historys[Index]; | |
| 154 | 新增: | |
| 155 | 新增: int preIndex = Index + 1; | |
| 156 | 新增: int count = Historys.Count - (Index + 1); | |
| 157 | 新增: // 从缓存中移除之前的页面 | |
| 158 | 新增: for (int i = preIndex; i < count; i++) | |
| 159 | 新增: { | |
| 160 | 新增: var pageUri = Historys[i]; | |
| 161 | 新增: if (PageCache.ContainsKey(pageUri)) | |
| 162 | 新增: { | |
| 163 | 新增: var page = PageCache[pageUri]; | |
| 164 | 新增: page = null; | |
| 165 | 新增: PageCache.Remove(pageUri); | |
| 166 | 新增: } | |
| 167 | 新增: } | |
| 168 | 新增: | |
| 169 | 新增: // 历史记录中移除 | |
| 170 | 新增: Historys.RemoveRange(preIndex, count); | |
| 171 | 新增: | |
| 172 | 新增: Uri = uri; | |
| 173 | 新增: | |
| 174 | 新增: | |
| 175 | 新增: | |
| 120 | 176 | } |
| 121 | 177 | } |
| 122 | 178 | |
| 179 | 新增: public void ClearHistorys() | |
| 180 | 新增: { | |
| 181 | 新增: Historys.Clear(); | |
| 182 | 新增: } | |
| 123 | 183 | private void LoadPage() |
| 124 | 184 | { |
| 125 | 185 | if (Uri != string.Empty) |
| 126 | 186 | { |
| 127 | 删除: | |
| 187 | 新增: Page page = null; | |
| 188 | 新增: var pageVM = GetPageVM(Uri); | |
| 128 | 189 | Type pageType = Type.GetType(ProjectName + ".Views." + Uri); |
| 129 | 删除: Type pageVMType = Type.GetType(ProjectName + ".ViewModels." + Uri + "VM"); | |
| 130 | 190 | if (pageType != null && ServiceProvider != null) |
| 131 | 191 | { |
| 132 | 删除: var page = ServiceProvider.GetService(pageType) as Page; | |
| 192 | 新增: page = ServiceProvider.GetService(pageType) as Page; | |
| 133 | 193 | if (page != null) |
| 134 | 194 | { |
| 135 | 删除: if (pageVMType != null) | |
| 136 | 删除: { | |
| 137 | 删除: var pageVM = ServiceProvider.GetService(pageVMType); | |
| 138 | 删除: if (pageVM != null) | |
| 139 | 删除: { | |
| 140 | 删除: page.DataContext = pageVM; | |
| 141 | 删除: } | |
| 142 | 删除: } | |
| 143 | 删除: Content = page; | |
| 195 | 新增: | |
| 196 | 新增: page.DataContext = pageVM; | |
| 197 | 新增: | |
| 198 | 新增: } | |
| 199 | 新增: | |
| 200 | 新增: } | |
| 201 | 新增: | |
| 202 | 新增: if (page != null) | |
| 203 | 新增: { | |
| 204 | 新增: | |
| 205 | 新增: Content = page; | |
| 206 | 新增: | |
| 207 | 新增: | |
| 208 | 新增: | |
| 209 | 新增: if (IndexUriList != null && IndexUriList.Contains(Uri)) | |
| 210 | 新增: { | |
| 211 | 新增: Historys.Clear(); | |
| 212 | 新增: Index = 0; | |
| 213 | 新增: OldIndex = 0; | |
| 214 | 新增: Historys.Add(Uri); | |
| 215 | 新增: PageCache.Clear(); | |
| 216 | 新增: } | |
| 217 | 新增: else | |
| 218 | 新增: { | |
| 144 | 219 | //处理历史记录 |
| 145 | 220 | if (OldIndex == Index) |
| 146 | 221 | { |
| @@ -150,13 +225,42 @@ namespace UI.Controls | ||
| 150 | 225 | } |
| 151 | 226 | OldIndex = Index; |
| 152 | 227 | } |
| 153 | 删除: else | |
| 154 | 删除: { | |
| 155 | 删除: Debug.WriteLine("找不到Page:" + Uri + ",请确认已被注入"); | |
| 156 | 删除: } | |
| 157 | 228 | |
| 229 | 新增: // 加入缓存 | |
| 230 | 新增: PageCache.Add(Uri, pageVM); | |
| 231 | 新增: | |
| 232 | 新增: OnLoadPaged?.Invoke(this, EventArgs.Empty); | |
| 233 | 新增: } | |
| 234 | 新增: else | |
| 235 | 新增: { | |
| 236 | 新增: Debug.WriteLine("找不到Page:" + Uri + ",请确认已被注入"); | |
| 158 | 237 | } |
| 159 | 238 | |
| 239 | 新增: | |
| 240 | 新增: } | |
| 241 | 新增: } | |
| 242 | 新增: | |
| 243 | 新增: | |
| 244 | 新增: private object GetPageVM(string uri) | |
| 245 | 新增: { | |
| 246 | 新增: if (PageCache.ContainsKey(uri)) | |
| 247 | 新增: { | |
| 248 | 新增: return PageCache[uri]; | |
| 249 | 新增: } | |
| 250 | 新增: else | |
| 251 | 新增: { | |
| 252 | 新增: Type pageVMType = Type.GetType(ProjectName + ".ViewModels." + Uri + "VM"); | |
| 253 | 新增: if (ServiceProvider != null && pageVMType != null) | |
| 254 | 新增: { | |
| 255 | 新增: | |
| 256 | 新增: var pageVM = ServiceProvider.GetService(pageVMType); | |
| 257 | 新增: | |
| 258 | 新增: return pageVM; | |
| 259 | 新增: } | |
| 260 | 新增: else | |
| 261 | 新增: { | |
| 262 | 新增: return null; | |
| 263 | 新增: } | |
| 160 | 264 | } |
| 161 | 265 | } |
| 162 | 266 | } |
| @@ -18,11 +18,29 @@ namespace UI.Controls.Window | ||
| 18 | 18 | { |
| 19 | 19 | #region 1.依赖属性 |
| 20 | 20 | |
| 21 | 删除: | |
| 21 | 新增: public static readonly DependencyProperty PageContainerProperty = DependencyProperty.Register("PageContainer", typeof(PageContainer), typeof(DefaultWindow), new PropertyMetadata(null, new PropertyChangedCallback(OnPageContainerChanged))); | |
| 22 | 新增: public PageContainer PageContainer { get { return (PageContainer)GetValue(PageContainerProperty); } set { SetValue(PageContainerProperty, value); } } | |
| 22 | 23 | #region 最小化按钮显示状态 |
| 23 | 24 | |
| 24 | 25 | public static readonly DependencyProperty MinimizeVisibilityProperty = DependencyProperty.Register("MinimizeVisibility", typeof(Visibility), typeof(DefaultWindow)); |
| 25 | 26 | |
| 27 | 新增: private static void OnPageContainerChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) | |
| 28 | 新增: { | |
| 29 | 新增: var that = (DefaultWindow)d; | |
| 30 | 新增: if (that != null) | |
| 31 | 新增: { | |
| 32 | 新增: if (e.NewValue != null) | |
| 33 | 新增: { | |
| 34 | 新增: that.IsCanBack = that.PageContainer.Index >= 1; | |
| 35 | 新增: | |
| 36 | 新增: that.PageContainer.OnLoadPaged += (s, v) => | |
| 37 | 新增: { | |
| 38 | 新增: that.IsCanBack = that.PageContainer.Index >= 1; | |
| 39 | 新增: }; | |
| 40 | 新增: } | |
| 41 | 新增: } | |
| 42 | 新增: } | |
| 43 | 新增: | |
| 26 | 44 | /// <summary> |
| 27 | 45 | /// 最小化按钮显示状态 |
| 28 | 46 | /// </summary> |
| @@ -88,6 +106,30 @@ namespace UI.Controls.Window | ||
| 88 | 106 | set { SetValue(IsThruWindowProperty, value); } |
| 89 | 107 | } |
| 90 | 108 | #endregion |
| 109 | 新增: | |
| 110 | 新增: | |
| 111 | 新增: public static readonly DependencyProperty IsCanBackProperty = DependencyProperty.Register("IsCanBack", typeof(bool), typeof(DefaultWindow), new PropertyMetadata(false,new PropertyChangedCallback(OnIsCanBackChanged))); | |
| 112 | 新增: | |
| 113 | 新增: private static void OnIsCanBackChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) | |
| 114 | 新增: { | |
| 115 | 新增: var that=d as DefaultWindow; | |
| 116 | 新增: if (that != null) | |
| 117 | 新增: { | |
| 118 | 新增: if (that.IsCanBack) | |
| 119 | 新增: { | |
| 120 | 新增: VisualStateManager.GoToState(that, "CanBackState", true); | |
| 121 | 新增: } | |
| 122 | 新增: else | |
| 123 | 新增: { | |
| 124 | 新增: VisualStateManager.GoToState(that, "Normal", true); | |
| 125 | 新增: } | |
| 126 | 新增: } | |
| 127 | 新增: } | |
| 128 | 新增: | |
| 129 | 新增: /// <summary> | |
| 130 | 新增: /// 是否可以返回 | |
| 131 | 新增: /// </summary> | |
| 132 | 新增: public bool IsCanBack { get { return (bool)GetValue(IsCanBackProperty); } set { SetValue(IsCanBackProperty, value); } } | |
| 91 | 133 | #endregion |
| 92 | 134 | |
| 93 | 135 | private bool IsWindowClosed_ = false; |
| @@ -107,6 +149,7 @@ namespace UI.Controls.Window | ||
| 107 | 149 | this.CommandBindings.Add(new CommandBinding(DefaultWindowCommands.MaximizeWindowCommand, OnMaximizeWindowCommand)); |
| 108 | 150 | this.CommandBindings.Add(new CommandBinding(DefaultWindowCommands.RestoreWindowCommand, OnRestoreWindowCommand)); |
| 109 | 151 | this.CommandBindings.Add(new CommandBinding(DefaultWindowCommands.CloseWindowCommand, OnCloseWindowCommand)); |
| 152 | 新增: this.CommandBindings.Add(new CommandBinding(DefaultWindowCommands.BackCommand, OnBackCommand)); | |
| 110 | 153 | |
| 111 | 154 | // 获取程序图标 |
| 112 | 155 | if (Icon == null) |
| @@ -116,8 +159,18 @@ namespace UI.Controls.Window | ||
| 116 | 159 | } |
| 117 | 160 | |
| 118 | 161 | Loaded += new RoutedEventHandler(window_Loaded); |
| 162 | 新增: } | |
| 119 | 163 | |
| 120 | 删除: | |
| 164 | 新增: private void OnBackCommand(object sender, ExecutedRoutedEventArgs e) | |
| 165 | 新增: { | |
| 166 | 新增: if (PageContainer != null) | |
| 167 | 新增: { | |
| 168 | 新增: PageContainer.Back(); | |
| 169 | 新增: if (PageContainer.Index == 0) | |
| 170 | 新增: { | |
| 171 | 新增: IsCanBack = false; | |
| 172 | 新增: } | |
| 173 | 新增: } | |
| 121 | 174 | } |
| 122 | 175 | |
| 123 | 176 | [DllImport("gdi32.dll", SetLastError = true)] |
| @@ -15,5 +15,7 @@ namespace UI.Controls.Window | ||
| 15 | 15 | public static RoutedUICommand CloseWindowCommand { get; } = new RoutedUICommand("", "CloseWindowCommand", typeof(DefaultWindowCommands)); |
| 16 | 16 | |
| 17 | 17 | public static RoutedUICommand LogoButtonClickCommand { get; } = new RoutedUICommand("", "LogoButtonClickCommand", typeof(DefaultWindowCommands)); |
| 18 | 新增: public static RoutedUICommand BackCommand { get; } = new RoutedUICommand("", "BackCommand", typeof(DefaultWindowCommands)); | |
| 19 | 新增: | |
| 18 | 20 | } |
| 19 | 21 | } |
| @@ -10,7 +10,9 @@ | ||
| 10 | 10 | xmlns:control="clr-namespace:UI.Controls" |
| 11 | 11 | xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" |
| 12 | 12 | xmlns:Navigation="clr-namespace:UI.Controls.Navigation" |
| 13 | 删除: x:Name="Window"> | |
| 13 | 新增: x:Name="Window" | |
| 14 | 新增: PageContainer="{Binding PageContainer}" | |
| 15 | 新增: Icon="/Resources/Icons/tai32.ico"> | |
| 14 | 16 | <Grid> |
| 15 | 17 | <!--主要功能--> |
| 16 | 18 | <Grid> |
| @@ -33,12 +35,12 @@ | ||
| 33 | 35 | <Navigation:Navigation.BottomExtContent> |
| 34 | 36 | <Navigation:NavigationItem Icon="Settings" Title="设置" Uri="SettingsPage" Command="{Binding GotoPageCommand}" CommandParameter="SettingPage"/> |
| 35 | 37 | </Navigation:Navigation.BottomExtContent> |
| 36 | 删除: | |
| 38 | 新增: | |
| 37 | 39 | </Navigation:Navigation> |
| 38 | 40 | |
| 39 | 41 | <Border Grid.Column="1" Background="#f9f9f9" Margin="0,40,10,10" CornerRadius="5" BorderThickness="1,1,1,1" BorderBrush="#ccc"> |
| 40 | 42 | <ScrollViewer VerticalScrollBarVisibility="Auto"> |
| 41 | 删除: <control:PageContainer ServiceProvider="{Binding ServiceProvider}" Uri="{Binding Uri,Mode=TwoWay}" Title="{Binding Title}" IsShowTilteBar="{Binding IsShowTitleBar,Mode=TwoWay}"/> | |
| 43 | 新增: <control:PageContainer IndexUriList="{Binding IndexUriList}" Instance="{Binding PageContainer,Mode=TwoWay}" ServiceProvider="{Binding ServiceProvider}" Uri="{Binding Uri,Mode=TwoWay}" Title="{Binding Title}" IsShowTilteBar="{Binding IsShowTitleBar,Mode=TwoWay}"/> | |
| 42 | 44 | </ScrollViewer> |
| 43 | 45 | </Border> |
| 44 | 46 | |
| @@ -4,6 +4,7 @@ using System.Collections.ObjectModel; | ||
| 4 | 4 | using System.Linq; |
| 5 | 5 | using System.Text; |
| 6 | 6 | using System.Threading.Tasks; |
| 7 | 新增:using UI.Controls; | |
| 7 | 8 | using UI.Controls.Navigation.Models; |
| 8 | 9 | |
| 9 | 10 | namespace UI.Models |
| @@ -70,5 +71,11 @@ namespace UI.Models | ||
| 70 | 71 | get { return NavSelectedItem_; } |
| 71 | 72 | set { NavSelectedItem_ = value; OnPropertyChanged(); } |
| 72 | 73 | } |
| 74 | 新增: | |
| 75 | 新增: private PageContainer PageContainer_; | |
| 76 | 新增: public PageContainer PageContainer { get { return PageContainer_; } set { PageContainer_ = value; OnPropertyChanged(); } } | |
| 77 | 新增: | |
| 78 | 新增: private List<string> IndexUriList_; | |
| 79 | 新增: public List<string> IndexUriList { get { return IndexUriList_; } set { IndexUriList_ = value; OnPropertyChanged(); } } | |
| 73 | 80 | } |
| 74 | 81 | } |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| 2 | 2 | xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| 3 | 删除: xmlns:w="clr-namespace:UI.Controls.Window"> | |
| 3 | 新增: xmlns:w="clr-namespace:UI.Controls.Window" xmlns:button="clr-namespace:UI.Controls.Button"> | |
| 4 | 4 | <Style x:Key="WindowSystemButton" TargetType="{x:Type Button}"> |
| 5 | 5 | <Setter Property="Background" Value="Transparent"/> |
| 6 | 6 | <Setter Property="OverridesDefaultStyle" Value="True"/> |
| @@ -106,8 +106,11 @@ | ||
| 106 | 106 | Panel.ZIndex="3"> |
| 107 | 107 | <!--标题区域--> |
| 108 | 108 | <StackPanel Orientation="Horizontal" Margin="15,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Center"> |
| 109 | 删除: <Image Source="{TemplateBinding Icon}" Stretch="Uniform" Width="18"/> | |
| 110 | 删除: <TextBlock Text="{TemplateBinding Title}" IsEnabled="{TemplateBinding IsActive}" Foreground="#5c5c5c" Margin="15,0,0,0"/> | |
| 109 | 新增: | |
| 110 | 新增: <button:IconButton Width="0" VerticalAlignment="Center" ToolTip="返回" FontSize="10" x:Name="BackBtn" Icon="Back" WindowChrome.IsHitTestVisibleInChrome="True" Command="{x:Static w:DefaultWindowCommands.BackCommand}"/> | |
| 111 | 新增: | |
| 112 | 新增: <Image Source="{TemplateBinding Icon}" VerticalAlignment="Center" Stretch="Uniform" Width="18"/> | |
| 113 | 新增: <TextBlock VerticalAlignment="Center" Text="{TemplateBinding Title}" IsEnabled="{TemplateBinding IsActive}" Foreground="#5c5c5c" Margin="15,0,0,0"/> | |
| 111 | 114 | </StackPanel> |
| 112 | 115 | <!--<TextBlock Text="{TemplateBinding Title}" IsEnabled="{TemplateBinding IsActive}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="15,0,0,0"/>--> |
| 113 | 116 | |
| @@ -172,6 +175,24 @@ | ||
| 172 | 175 | </Grid> |
| 173 | 176 | </AdornerDecorator> |
| 174 | 177 | </Border> |
| 178 | 新增: <VisualStateManager.VisualStateGroups> | |
| 179 | 新增: <VisualStateGroup x:Name="CommonStates"> | |
| 180 | 新增: <VisualStateGroup.Transitions> | |
| 181 | 新增: <VisualTransition GeneratedDuration="0:0:.15" /> | |
| 182 | 新增: <VisualTransition GeneratedDuration="0" | |
| 183 | 新增: To="Pressed" /> | |
| 184 | 新增: </VisualStateGroup.Transitions> | |
| 185 | 新增: <VisualState x:Name="Normal" /> | |
| 186 | 新增: <VisualState x:Name="CanBackState"> | |
| 187 | 新增: <Storyboard > | |
| 188 | 新增: <DoubleAnimation Storyboard.TargetProperty="(Button.Width)" | |
| 189 | 新增: Storyboard.TargetName="BackBtn" To="35" Duration="0:0:.1"> | |
| 190 | 新增: </DoubleAnimation> | |
| 191 | 新增: </Storyboard> | |
| 192 | 新增: </VisualState> | |
| 193 | 新增: | |
| 194 | 新增: </VisualStateGroup> | |
| 195 | 新增: </VisualStateManager.VisualStateGroups> | |
| 175 | 196 | </Border> |
| 176 | 197 | <ControlTemplate.Triggers> |
| 177 | 198 | <MultiTrigger> |
| @@ -188,7 +209,9 @@ | ||
| 188 | 209 | <Setter TargetName="MaximizeButton" Property="Visibility" Value="Collapsed" /> |
| 189 | 210 | <Setter TargetName="RestoreButton" Property="Visibility" Value="Visible" /> |
| 190 | 211 | </Trigger> |
| 191 | 删除: | |
| 212 | 新增: <!--<Trigger Property="IsCanBack" Value="True"> | |
| 213 | 新增: <Setter TargetName="BackBtn" Property="Visibility" Value="Visible" /> | |
| 214 | 新增: </Trigger>--> | |
| 192 | 215 | <!--<Trigger Property="WindowState" Value="Normal"> |
| 193 | 216 | <Setter TargetName="MaximizeButton" Property="Visibility" Value="Visible" /> |
| 194 | 217 | <Setter TargetName="RestoreButton" Property="Visibility" Value="Collapsed" /> |
| @@ -68,6 +68,11 @@ namespace UI.ViewModels | ||
| 68 | 68 | |
| 69 | 69 | private void InitNavigation() |
| 70 | 70 | { |
| 71 | 新增: IndexUriList = new List<string>(); | |
| 72 | 新增: IndexUriList.Add(nameof(IndexPage)); | |
| 73 | 新增: IndexUriList.Add(nameof(DataPage)); | |
| 74 | 新增: | |
| 75 | 新增: | |
| 71 | 76 | Items.Add(new Controls.Navigation.Models.NavigationItemModel() |
| 72 | 77 | { |
| 73 | 78 | Icon = Controls.Base.IconTypes.AppIconDefaultList, |

