public override void SetupCustomUIElements(dynNodeView nodeUI) { var tb = new dynTextBox(); tb.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; tb.VerticalAlignment = System.Windows.VerticalAlignment.Top; nodeUI.inputGrid.Children.Add(tb); System.Windows.Controls.Grid.SetColumn(tb, 0); System.Windows.Controls.Grid.SetRow(tb, 0); tb.IsNumeric = false; tb.Background = new SolidColorBrush(Color.FromArgb(0x88, 0xFF, 0xFF, 0xFF)); tb.DataContext = this; var bindingVal = new Binding("Formula") { Mode = BindingMode.TwoWay, NotifyOnValidationError = false, Source = this, UpdateSourceTrigger = UpdateSourceTrigger.Explicit }; tb.SetBinding(TextBox.TextProperty, bindingVal); }
public override void SetupCustomUIElements(dynNodeView NodeUI) { //add an edit window option to the //main context window var editWindowItem = new System.Windows.Controls.MenuItem(); editWindowItem.Header = "Edit..."; editWindowItem.IsCheckable = false; NodeUI.MainContextMenu.Items.Add(editWindowItem); editWindowItem.Click += new RoutedEventHandler(editWindowItem_Click); //add a text box to the input grid of the control var tb = new dynTextBox(); tb.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; tb.VerticalAlignment = System.Windows.VerticalAlignment.Center; NodeUI.inputGrid.Children.Add(tb); System.Windows.Controls.Grid.SetColumn(tb, 0); System.Windows.Controls.Grid.SetRow(tb, 0); tb.IsNumeric = false; tb.Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(0x88, 0xFF, 0xFF, 0xFF)); tb.DataContext = this; var bindingVal = new System.Windows.Data.Binding("Measure.Item.Length") { Mode = BindingMode.TwoWay, Converter = new RevitProjectUnitsConverter(), ConverterParameter = Measure, NotifyOnValidationError = false, Source = this, UpdateSourceTrigger = UpdateSourceTrigger.Explicit }; tb.SetBinding(System.Windows.Controls.TextBox.TextProperty, bindingVal); tb.Text = "0.0"; }