管道基础大数据平台系统开发-【CS】-ExportMap
13693261870
2023-08-22 ca4c281f3e2f52b1e0cbb9caaf75581286d58a52
DataLoader/ResWin.xaml.cs
@@ -7,6 +7,8 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using CefSharp.Callback;
using System.Windows.Media;
namespace DataLoader
{
@@ -35,6 +37,7 @@
            FindTreeItems(dirs, items, 0);
            this.tvResTree.ItemsSource = items.Child;
            //SetCheckedBox();
        }
        private void FindTreeItems(List<SysDir> list, TreeItem ti, int pid)
@@ -49,9 +52,35 @@
                    item.Name = dir.name;
                    item.FullName = dir.fullName;
                    item.IsExpanded = true;
                    item.IsChecked = CommonProp.dirId == dir.id;
                    ti.Child.Add(item);
                    FindTreeItems(list, item, dir.id);
                }
            }
        }
        private void SetCheckedBox()
        {
            if (CommonProp.dirId == 0) return;
            foreach (var item in this.tvResTree.Items)
            {
                TreeViewItem tvItem = this.tvResTree.ItemContainerGenerator.ContainerFromItem(item) as TreeViewItem;
                if (null == tvItem) continue;  //((System.Windows.Controls.Panel)tvItem.VisualParent).Children
                for (int i = 0, c = VisualTreeHelper.GetChildrenCount(tvItem); i < c; i++)
                {
                    DependencyObject child = VisualTreeHelper.GetChild(this.tvResTree, i);
                    if (child is CheckBox)
                    {
                        CheckBox cb = child as CheckBox;
                        if (cb.IsChecked == true)
                        {
                            this.cbLast = cb;
                            return;
                        }
                    }
                }
            }
        }
@@ -75,12 +104,13 @@
            SysDir dir = null;
            if (this.cbLast != null)
            {
                int id = int.Parse(this.cbLast.Tag.ToString());
                dir = (from d in dirs where d.id == id select d).First<SysDir>();
                CommonProp.dirId = int.Parse(this.cbLast.Tag.ToString());
                dir = (from d in dirs where d.id == CommonProp.dirId select d).First<SysDir>();
            }
            CommonProp.Owner.resWin = null;
            this.Hide();
            CommonProp.Owner.SetRes(null == dir ? null : dir.code, null == dir ? null : dir.fullName);
            e.Cancel = true;
        }
    }
}