/// <summary> /// Generate TreeViewItem /// </summary> /// <param name="localizeItemSelector"></param> /// <param name="item"></param> private void SetNavGroupSubItem(LocalizeItemSelector localizeItemSelector, SystemMenuTreeList item) { SubItem = new TreeViewItemEx(); SubItem.Header = localizeItemSelector.setLocalizeValue(SubItem, TreeViewItemEx.HeaderProperty); SubItem.Style = objtemplate; _dicflattenedTree.Add(item.Id, SubItem); SubItem.IsExpanded = true; if (_dicflattenedTree.ContainsKey(item.PId)) { //// SubItem.ContextMenu = menuAdd; _dicflattenedTree[item.PId].Items.Add(SubItem); } else { objtree.Items.Add(SubItem); } var Col = StructureItemsSource.OrderBy(a => a.DisplayIndex).Where(p => p.PId == item.Id); if (0 < Col.Count()) { GenerateNavControlTreeStructure(Col); } else { SubItem.PageUri = item.PageUri; if (!string.IsNullOrEmpty(item.NameClass)) { SubItem.MouseEnter += new MouseEventHandler(SubItem_MouseEnter); SubItem.MouseLeftButtonUp += new MouseButtonEventHandler(newItem_MouseLeftButtonUp); SubItem.PreviewKeyDown += new KeyEventHandler(subItemnew_PreviewKeyDown); } } }
/// <summary> /// Generate NavGroup /// </summary> /// <param name="localizeItemSelector"></param> /// <param name="item"></param> private void SetNavBarGroup(LocalizeItemSelector localizeItemSelector, SystemMenuTreeList item) { NavGroup = new OutlookSection(); //NavGroup.PageUri = item.PageUri; NavGroup.Header = localizeItemSelector.setLocalizeValue(NavGroup, HeaderedContentControl.HeaderProperty); if (item.ImageIcon != null) { BitmapImage bitmap = new BitmapImage(); bitmap.BeginInit(); bitmap.CreateOptions = BitmapCreateOptions.None; bitmap.CacheOption = BitmapCacheOption.Default; var imageSource = item.ImageIcon; bitmap.StreamSource = new MemoryStream((byte[])imageSource.ToArray()); bitmap.EndInit(); Image image = new Image(); image.Source = bitmap; NavGroup.Image = image.Source; } //NavGroup.Click += NavGroup_Click; NavigationBar.Sections.Add(NavGroup); objtree = new TreeView(); NavGroup.Margin = new Thickness(0, 0, 0, 0); objtree.Margin = new Thickness(0, 5, 0, 0); NavGroup.Content = objtree; //NavigationBar.Items.Add(objtree); TreeViewItemEx AreapageItem = new TreeViewItemEx() { Style = objtemplate, IsAreaPageTreeItem = true }; // LocalizeItemSelector localizeItemSelector1 = new LocalizeItemSelector(); CommonMethods.AddLocalizeItem(localizeItemSelector1, "en", "Area Page"); CommonMethods.AddLocalizeItem(localizeItemSelector1, "ja", "エリアページ"); CommonMethods.AddLocalizeItem(localizeItemSelector1, "th", "หน้าบริเวณ"); CommonMethods.AddLocalizeItem(localizeItemSelector1, "zh", "區頁"); //AreapageItem.PageUri = item.PageUri; localizeItemSelector1.setLocalizeValue(AreapageItem, TreeViewItemEx.HeaderProperty); AreapageItem.Header = localizeItemSelector1.setLocalizeValue(AreapageItem, TreeViewItemEx.HeaderProperty); //AreapageItem.MouseLeftButtonUp += new MouseButtonEventHandler(AreapageItem_MouseLeftButtonUp); objtree.Items.Add(AreapageItem); }
/// <summary> /// Create TreeMenu and TreeMenuItem /// </summary> /// <param name="GroupName"></param> /// <param name="localizeItemSelector"></param> /// <param name="item"></param> private void SetAreaPageSubItems(string GroupName, LocalizeItemSelector localizeItemSelector, SystemMenuTreeList item) { Binding binding = new Binding(); binding.Mode = BindingMode.TwoWay; binding.Source = this; binding.Path = new PropertyPath(Window.LanguageProperty); binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; subItemnew = new TreeViewItemEx(); subItemnew.SetBinding(TreeViewItemEx.LanguageProperty, binding); KeyboardNavigation.SetTabNavigation(subItemnew, KeyboardNavigationMode.Continue); subItemnew.IsTabStop = true; subItemnew.IsExpanded = true; subItemnew.HorizontalAlignment = HorizontalAlignment.Left; subItemnew.Foreground = Brushes.Black; subItemnew.Header = localizeItemSelector.setLocalizeValue(subItemnew, TreeViewItemEx.HeaderProperty); _dicTreeViewItemInAreaPage.Add(item.Id, subItemnew); subItemnew.IsExpanded = true; if (_dicTreeViewItemInAreaPage.ContainsKey(item.PId)) { _dicTreeViewItemInAreaPage[item.PId].Items.Add(subItemnew); } else { objTreeView.Items.Add(subItemnew); } var Col = ItemsSource.OrderBy(a => a.DisplayIndex).Where(p => p.PId == item.Id); if (0 < Col.Count()) { GenerateAreaPageGroups(Col, GroupName); } else { //subItemnew.PageUri = item.PageUri; if (!string.IsNullOrEmpty(item.NameClass)) { // subItemnew.MouseLeftButtonUp += new MouseButtonEventHandler(newItem_MouseLeftButtonUp); //subItemnew.PreviewKeyDown += new KeyEventHandler(subItemnew_PreviewKeyDown); } } }