//private void lbFields_MouseUp(object sender, MouseButtonEventArgs e) //{ // var selectedField = lbFields.SelectedItem as FilterElementDefinition; // if (selectedField != null) // { // gStartPanel.Visibility = Visibility.Collapsed; // MyBorder.Visibility = System.Windows.Visibility.Visible; // spButtons.Visibility = System.Windows.Visibility.Visible; // var fge = new FilterGroupEditor(_collection, false, this.IsReadOnly, this); // var fae = new FilterElementEditor(selectedField) { Margin = new Thickness(0, 0, 0, 0), IsReadOnly = this.IsReadOnly }; // fae.EditorContext = this; // fge.SetAtomFilter(fae); // this.FilterExpr = fge.Filter; // SetRootGroup(fge); // } //} public void SetRootGroup(FilterGroupEditor fge) { if (_rootGroup != null) { var flt = _rootGroup.Filter; //setvalue, clear binding BindingOperations.ClearBinding(_rootGroup, FilterGroupEditor.FilterProperty); _rootGroup.Filter = flt; _rootGroup.AddedFirstElement -= fgeOnAddedFirstElement; _rootGroup.Parent = fge; mainGrid.Children.Remove(_rootGroup); } _rootGroup = fge; this.SetBinding(FilterEditor.FilterExprProperty, new Binding("Filter") { Source = fge, Mode = BindingMode.TwoWay }); // fge.Background = Brushes.White; fge.AddedFirstElement += fgeOnAddedFirstElement; fge.Parent = null; mainGrid.Children.Add(fge); if (fge.AtomFilter != null) { fge.SetAsRoot(); } }
//private void lbFields_MouseUp(object sender, MouseButtonEventArgs e) //{ // var selectedField = lbFields.SelectedItem as FilterElementDefinition; // if (selectedField != null) // { // gStartPanel.Visibility = Visibility.Collapsed; // MyBorder.Visibility = System.Windows.Visibility.Visible; // spButtons.Visibility = System.Windows.Visibility.Visible; // var fge = new FilterGroupEditor(_collection, false, this.IsReadOnly, this); // var fae = new FilterElementEditor(selectedField) { Margin = new Thickness(0, 0, 0, 0), IsReadOnly = this.IsReadOnly }; // fae.EditorContext = this; // fge.SetAtomFilter(fae); // this.FilterExpr = fge.Filter; // SetRootGroup(fge); // } //} public void SetRootGroup(FilterGroupEditor fge) { if (_rootGroup != null) { var flt = _rootGroup.Filter; //setvalue, clear binding BindingOperations.ClearBinding(_rootGroup, FilterGroupEditor.FilterProperty); _rootGroup.Filter = flt; _rootGroup.AddedFirstElement -= fgeOnAddedFirstElement; _rootGroup.Parent = fge; mainGrid.Children.Remove(_rootGroup); } _rootGroup = fge; this.SetBinding(FilterEditor.FilterExprProperty, new Binding("Filter") { Source = fge, Mode = BindingMode.TwoWay }); // fge.Background = Brushes.White; fge.AddedFirstElement += fgeOnAddedFirstElement; fge.Parent = null; mainGrid.Children.Add(fge); if(fge.AtomFilter!=null) fge.SetAsRoot(); }