protected override void AssignToEditCore(IBaseEdit edit) { base.AssignToEditCore(edit); if (Converter == null) { return; } var te = edit as TextEdit; if (te == null) { return; } te.EditValueChanged += TEOnEditValueChanged; te.GotFocus += OnGotFocus; te.LostFocus += OnLostFocus; //var binding = new Binding("Text") //{ // Mode = BindingMode.OneWay, // RelativeSource = new RelativeSource(RelativeSourceMode.Self), // Converter = Converter, // ConverterParameter = te.EditMode, // UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged, //}; //te.SetBinding(BaseEdit.EditValueProperty, binding); }
protected override void AssignToEditCore(IBaseEdit edit) { var editor = edit as CustomComboBoxEdit; if (editor != null) { editor.IsSettings = true; } base.AssignToEditCore(edit); }
protected override void AssignToEditCore(IBaseEdit edit) { base.AssignToEditCore(edit); if (edit is AddressStateControl) { var editor = (AddressStateControl)edit; editor.SelectedState = SelectedState; editor.StateCollection = StateCollection; } }
protected override void AssignToEditCore(IBaseEdit edit) { base.AssignToEditCore(edit); var editor = edit as ConfiguratorComboBoxEdit; if (editor != null) { editor.LookupFilterCriteria = LookupFilterCriteria; } }
protected override void AssignToEditCore(IBaseEdit edit) { base.AssignToEditCore(edit); var editor = edit as InplaceBaseEdit; if (editor != null) { editor.FontFamily = EditFont; } }
protected override void AssignToEditCore(IBaseEdit edit) { base.AssignToEditCore(edit); var editor = edit as CustomPopupEdit; if (editor == null) { return; } SetValueFromSettings(RepositoryProperty, () => editor.Repository = Repository); }
protected override void AssignToEditCore(IBaseEdit edit) { base.AssignToEditCore(edit); var editor = edit as ConfiguratorLookUpEdit; if (editor != null) { editor.LookUpColumnsSource = LookUpColumnsSource; editor.LookupFilterCriteria = LookupFilterCriteria; } }
protected override void AssignToEditCore(IBaseEdit edit) { ((SpinEdit)edit).IsFloatValue = false; ((SpinEdit)edit).MinValue = 1; ((SpinEdit)edit).MaxValue = 100; base.AssignToEditCore(edit); }
protected override void AssignToEditCore(IBaseEdit edit) { ((ComboBoxEdit)edit).NullValueButtonPlacement = EditorPlacement.Popup; base.AssignToEditCore(edit); }
protected override void AssignToEditCore(IBaseEdit edit) { ComboBoxEdit cmb; if ((cmb = edit as ComboBoxEdit) != null) { // Чтобы содержимые элементы растягивались на все доступное пространство. cmb.HorizontalContentAlignment = HorizontalAlignment.Stretch; // Создание ItemTemplate через FrameworkElementFactory. FrameworkElementFactory factoryGrid = new FrameworkElementFactory(typeof(WinControls.Grid)); FrameworkElementFactory factoryColumnOne = new FrameworkElementFactory(typeof(WinControls.ColumnDefinition)); FrameworkElementFactory factoryColumnTwo = new FrameworkElementFactory(typeof(WinControls.ColumnDefinition)); FrameworkElementFactory factoryTextBlock = new FrameworkElementFactory(typeof(WinControls.TextBlock)); FrameworkElementFactory factoryButton = new FrameworkElementFactory(typeof(WinControls.Button)); // Настроим кнопку. // Настройка через factoryButton.SetValue(WinControls.Button.ContentProperty, "X") не работает. WinControls.ControlTemplate templateButton = new WinControls.ControlTemplate(typeof(WinControls.Button)); FrameworkElementFactory factoryTextBlockButton = new FrameworkElementFactory(typeof(WinControls.TextBlock)); factoryTextBlockButton.SetValue(WinControls.TextBlock.TextProperty, "X"); factoryTextBlockButton.SetValue(WinControls.TextBlock.ForegroundProperty, System.Windows.Media.Brushes.Red); factoryTextBlockButton.SetValue(WinControls.TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Center); templateButton.VisualTree = factoryTextBlockButton; factoryButton.Name = "btn"; factoryButton.SetValue(WinControls.Button.TemplateProperty, templateButton); factoryButton.SetValue(WinControls.Button.OpacityProperty, 0d); // Суффикс обязателен. factoryButton.AddHandler(WinControls.Button.ClickEvent, new RoutedEventHandler(DeleteItem)); // Триггер для кнопки. Trigger trig = new Trigger(); trig.Property = UIElement.IsMouseOverProperty; trig.Value = true; Setter set = new Setter(); set.Property = WinControls.Button.OpacityProperty; System.Windows.Data.Binding b; set.Value = b = new System.Windows.Data.Binding("Opacity"); b.Source = new ButtonVisibilityManager(cmb, checkForDeleting); set.TargetName = "btn"; trig.Setters.Add(set); // Создаем Grid и колонки в нем. factoryColumnOne.SetValue(WinControls.ColumnDefinition.WidthProperty, new GridLength(1, GridUnitType.Star)); factoryColumnTwo.SetValue(WinControls.ColumnDefinition.WidthProperty, new GridLength(15, GridUnitType.Pixel)); factoryGrid.AppendChild(factoryColumnOne); factoryGrid.AppendChild(factoryColumnTwo); // Добавляем в Grid элементы. factoryTextBlock.SetValue(WinControls.Grid.ColumnProperty, 0); factoryButton.SetValue(WinControls.Grid.ColumnProperty, 1); factoryGrid.AppendChild(factoryTextBlock); factoryGrid.AppendChild(factoryButton); factoryTextBlock.SetBinding(WinControls.TextBlock.TextProperty, new System.Windows.Data.Binding()); cmb.ItemTemplate = new DataTemplate(); cmb.ItemTemplate.VisualTree = factoryGrid; cmb.ItemTemplate.Triggers.Add(trig); // Возможность добавления нового значения. cmb.ProcessNewValue += cmb_ProcessNewValue; cmb.AddNewButtonPlacement = EditorPlacement.Popup; } base.AssignToEditCore(edit); }