Example #1
0
        public TreeViewHandler()
        {
            Control = new EtoTreeView();
            var template = new sw.HierarchicalDataTemplate(typeof(ITreeItem));

            template.VisualTree  = WpfListItemHelper.ItemTemplate();
            template.ItemsSource = new swd.Binding {
                Converter = new WpfTreeItemHelper.ChildrenConverter()
            };
            Control.ItemTemplate = template;

            var style = new sw.Style(typeof(swc.TreeViewItem));

            //style.Setters.Add (new sw.Setter (swc.TreeViewItem.IsExpandedProperty, new swd.Binding { Converter = new WpfTreeItemHelper.IsExpandedConverter (), Mode = swd.BindingMode.OneWay }));
            style.Setters.Add(new sw.Setter(swc.TreeViewItem.IsExpandedProperty, new swd.Binding {
                Path = expandedProperty, Mode = swd.BindingMode.TwoWay
            }));
            Control.ItemContainerStyle = style;

            ITreeItem oldSelectedItem = null;

            Control.CurrentItemChanged += (sender, e) => {
                Control.Dispatcher.BeginInvoke(new Action(() => {
                    var newSelected = this.SelectedItem;
                    if (oldSelectedItem != newSelected)
                    {
                        Widget.OnSelectionChanged(EventArgs.Empty);
                        oldSelectedItem = newSelected;
                        this.RefreshData();
                    }
                }));
            };
        }
Example #2
0
        public TreeViewHandler()
        {
            Control = new EtoTreeView {
                Handler = this
            };
            SetTemplate();

            var style = new sw.Style(typeof(swc.TreeViewItem));

            //style.Setters.Add (new sw.Setter (swc.TreeViewItem.IsExpandedProperty, new swd.Binding { Converter = new WpfTreeItemHelper.IsExpandedConverter (), Mode = swd.BindingMode.OneWay }));
            style.Setters.Add(new sw.Setter(swc.TreeViewItem.IsExpandedProperty, new swd.Binding {
                Path = expandedProperty, Mode = swd.BindingMode.OneTime
            }));
            Control.ItemContainerStyle = style;
        }