예제 #1
0
        private void _loadSubItems(IDynamicTreeModel item, ItemCollection items)
        {
            if (items.Count == 1 && items[0] == null)
            {
                items.Clear();
            }
            List <IDynamicTreeModel> childs = item.GetChildsByParentId(item.GetId());
            TreeViewItem             treeItem;

            foreach (var child in childs)
            {
                // vizuální položka ve stromě
                treeItem = new TreeViewItem()
                {
                    Header = child.GetTreeNodeHeader()
                };
                if (child.GetHashChilds())
                {
                    treeItem.Items.Add(null);
                }

                treeItem.Expanded += this.onExpanded;
                treeItem.PreviewMouseDoubleClick += this.onDoubleClick;
                treeItem.DataContext              = child; // databázová entity
                treeItem.Tag = false;                      // nebyly načtené podpoložky

                items.Add(treeItem);
            }
        }
예제 #2
0
        private void onExpanded(object sender, RoutedEventArgs e)
        {
            TreeViewItem treeItem = sender as TreeViewItem;

            if (!(bool)treeItem.Tag)
            {
                treeItem.Tag = true;
                IDynamicTreeModel dataObject = treeItem.DataContext as IDynamicTreeModel;
                this._loadSubItems(dataObject, treeItem.Items);
            }
        }