private static object CoerceValue(DependencyObject element, object value) { decimal newValue = (decimal)value; ucNumericUpDown control = (ucNumericUpDown)element; newValue = Math.Max(control.MinValue, Math.Min(control.MaxValue, newValue)); return(newValue); }
private static void OnValueChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { ucNumericUpDown control = (ucNumericUpDown)obj; RoutedPropertyChangedEventArgs <decimal> e = new RoutedPropertyChangedEventArgs <decimal>( (decimal)args.OldValue, (decimal)args.NewValue, ValueChangedEvent); control.OnValueChanged(e); }
//creates the panel for ordering of a type private Panel createOrderPanel() { WrapPanel panelOrderType = new WrapPanel(); cbTypes = new ComboBox(); cbTypes.DisplayMemberPath = "Name"; cbTypes.SelectedValuePath = "Name"; cbTypes.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbTypes.Background = Brushes.Transparent; cbTypes.Width = 200; cbTypes.VerticalAlignment = System.Windows.VerticalAlignment.Bottom; cbTypes.SelectionChanged += new SelectionChangedEventHandler(cbTypes_SelectionChanged); panelOrderType.Children.Add(cbTypes); nudAirliners = new ucNumericUpDown(); nudAirliners.Height = 30; nudAirliners.MaxValue = 10; nudAirliners.Value = 1; nudAirliners.ValueChanged += new RoutedPropertyChangedEventHandler<decimal>(nudAirliners_ValueChanged); nudAirliners.VerticalAlignment = System.Windows.VerticalAlignment.Bottom; nudAirliners.MinValue = 1; nudAirliners.Margin = new Thickness(5, 0, 0, 0); panelOrderType.Children.Add(nudAirliners); txtPrice = new TextBlock(); txtPrice.Text = new ValueCurrencyConverter().Convert(0).ToString();//string.Format("{0:C}", 0); txtPrice.TextAlignment = TextAlignment.Right; txtPrice.Width = 100; txtPrice.VerticalAlignment = System.Windows.VerticalAlignment.Bottom; panelOrderType.Children.Add(txtPrice); Button btnAddOrder = new Button(); btnAddOrder.Margin = new Thickness(5, 0, 0, 0); btnAddOrder.Background = Brushes.Transparent; btnAddOrder.VerticalAlignment = System.Windows.VerticalAlignment.Bottom; btnAddOrder.Click += new RoutedEventHandler(btnAddOrder_Click); Image imgAddOrder = new Image(); imgAddOrder.Source = new BitmapImage(new Uri(@"/Data/images/add.png", UriKind.RelativeOrAbsolute)); imgAddOrder.Height = 16; RenderOptions.SetBitmapScalingMode(imgAddOrder, BitmapScalingMode.HighQuality); btnAddOrder.Content = imgAddOrder; panelOrderType.Children.Add(btnAddOrder); return panelOrderType; }