コード例 #1
0
        public void Init(Windows.Reactive.IReactive reactive)
        {
            treeViewController = reactive.CreateTreeViewController(treeView);

            treeViewController.OnExpand     = item => viewModel.OnItemExpand((IViewItem)item);
            treeViewController.OnCollapse   = item => viewModel.OnItemCollapse((IViewItem)item);
            treeViewController.OnSelect     = items => viewModel.OnSelectionChange(items.OfType <IViewItem>().ToArray());
            treeViewController.OnUpdateNode = (treeNode, item, oldItem) =>
            {
                var vi    = (IViewItem)item;
                var oldvi = (IViewItem)oldItem;
                updateLocked = true;
                if (vi.Checked != oldvi?.Checked)
                {
                    treeNode.Checked = vi.Checked == true;
                }
                if (vi.ToString() != oldvi?.ToString())
                {
                    treeNode.Text = vi.ToString();
                }
                if (vi.Color != oldvi?.Color)
                {
                    treeNode.BackColor = Drawing.PrimitivesExtensions.ToSystemDrawingObject(vi.Color.value);
                }
                updateLocked = false;
            };
        }
コード例 #2
0
        public StateInspectorForm(Windows.Reactive.IReactive reactive)
        {
            InitializeComponent();

            this.reactive                         = reactive;
            this.treeViewController               = reactive.CreateTreeViewController <IObjectsTreeNode>(objectsTreeView);
            this.objectsTreeView.Indent           = UIUtils.Dpi.Scale(20, 120);
            this.splitContainer1.SplitterWidth    = Math.Max(4, UIUtils.Dpi.Scale(4, 120));
            this.splitContainer3.SplitterDistance = UIUtils.Dpi.Scale(260, 120);
            this.ClientSize                       = new System.Drawing.Size(UIUtils.Dpi.Scale(800, 120), UIUtils.Dpi.Scale(500, 120));
            this.treeViewController.OnExpand      = node => viewModel.OnExpandNode(node);
            this.treeViewController.OnCollapse    = node => viewModel.OnCollapseNode(node);
            this.treeViewController.OnSelect      = nodes => viewModel.OnSelect(nodes);

            selectedObjectStateHistoryControl.Header.ResizingStarted += (s, e) => splitContainer3.BeginSplitting();
        }