123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
-
- ///////////////////////////////////////////////////////////////////////////////
- //文件名称: VmTreeNavigationTest.cs
- //文件描述: VmTreeNavigationTest.cs
- //创 建 者: xls
- //创建日期: 2018/9/20 14:57:55
- //版 本 号:1.0.0.0
- ////////////////////////////////////////////////////////////////////////////////
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using FWindSoft.Data;
- using FWindSoft.MVVM;
- using FWindSoft.Wpf;
- namespace Test.TreeNavigation
- {
- public class VmTreeNavigationTest : BaseViewModel
- {
- public VmTreeNavigationTest()
- {
- Init();
- }
- private void Init()
- {
- }
- public void Init(LoadParameter parameter)
- {
- Root = new TreeNavigation<ShowItem>();
- Root.CurrentItemChanged = ChangeSelectedItem;
- Root.Items.Add(new TreeNavigationItem<ShowItem>() { RefItem = new ShowItem() { Name = "名称1" } });
- Root.Items.Add(new TreeNavigationItem<ShowItem>() { RefItem = new ShowItem() { Name = "名称2" } });
- Root.Items.Add(new TreeNavigationItem<ShowItem>() { RefItem = new ShowItem() { Name = "名称3" } });
- Root.CurrentItem = Root.Items.FirstOrDefault();
- //Root.SetSelectedItem(Root.Items.FirstOrDefault());
- }
- #region 属性相关
- private TreeNavigation<ShowItem> m_Root;
- /// <summary>
- /// 根元素
- /// </summary>
- public TreeNavigation<ShowItem> Root
- {
- get { return this.m_Root; }
- set
- {
- this.m_Root = value;
- RaisePropertyChanged(nameof(this.Root));
- }
- }
- #endregion
- #region 命令相关
- /// <summary>
- /// 选择命令
- /// </summary>
- /// <param name="parameter"></param>
- [Command]
- public void SelectedCommand(object parameter)
- {
- }
- public bool CanSelectedCommand(object parameter)
- {
- return true;
- }
- #endregion
- private void ChangeSelectedItem(TreeNavigationItem<ShowItem> item)
- {
- if (item == null)
- return;
- if (item.Level > 2)
- return;
- var rootSelected = item.GetRefNavigation().CurrentItem;
- if (rootSelected != null)
- {
- item.Nodes.Clear();
- for (int i = 0; i < 10; i++)
- {
- var useData = new TreeNavigationItem<ShowItem>()
- {
- RefItem = new ShowItem() { Name = i.ToString() + item.RefItem.Name }
- };
- useData.IsChecked =i%2==0;
- item.Nodes.Add(useData);
- item.UpdateCheckedState();
- }
- }
- item.CurrentItem = item.Nodes.FirstOrDefault();
- }
- }
- public class ShowItem: BasePropertyChanged
- {
- private string m_Name;
- /// <summary>
- /// 名称
- /// </summary>
- public string Name
- {
- get { return this.m_Name; }
- set
- {
- this.m_Name = value;
- RaisePropertyChanged(nameof(this.Name));
- }
- }
- }
- }
|