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(); } })); }; }
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; }