NumericUpDownPage.xaml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:sys="clr-namespace:System;assembly=netstandard"
  4. x:Class="ControlCatalog.Pages.NumericUpDownPage">
  5. <StackPanel Orientation="Vertical" Spacing="4"
  6. MaxWidth="800">
  7. <TextBlock Margin="2" Classes="h1">Numeric up-down control</TextBlock>
  8. <TextBlock Margin="2" Classes="h2" TextWrapping="Wrap">Numeric up-down control provides a TextBox with button spinners that allow incrementing and decrementing numeric values by using the spinner buttons, keyboard up/down arrows, or mouse wheel.</TextBlock>
  9. <TextBlock Margin="2,5,2,2" FontSize="14" FontWeight="Bold">Features:</TextBlock>
  10. <Grid Margin="2" ColumnDefinitions="Auto,Auto,Auto,Auto" RowDefinitions="Auto,Auto">
  11. <Grid Grid.Row="0" Grid.Column="0" ColumnDefinitions="Auto, Auto" RowDefinitions="Auto,Auto,Auto,Auto,Auto">
  12. <TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Margin="2">ShowButtonSpinner:</TextBlock>
  13. <CheckBox Grid.Row="0" Grid.Column="1" IsChecked="{Binding #upDown.ShowButtonSpinner}" VerticalAlignment="Center" Margin="2"/>
  14. <TextBlock Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Margin="2">IsReadOnly:</TextBlock>
  15. <CheckBox Grid.Row="1" Grid.Column="1" IsChecked="{Binding #upDown.IsReadOnly}" VerticalAlignment="Center" Margin="2"/>
  16. <TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Margin="2">AllowSpin:</TextBlock>
  17. <CheckBox Grid.Row="2" Grid.Column="1" IsChecked="{Binding #upDown.AllowSpin}" VerticalAlignment="Center" Margin="2"/>
  18. <TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" Margin="2">ClipValueToMinMax:</TextBlock>
  19. <CheckBox Grid.Row="3" Grid.Column="1" IsChecked="{Binding #upDown.ClipValueToMinMax}" VerticalAlignment="Center" Margin="2"/>
  20. </Grid>
  21. <Grid Grid.Row="0" Grid.Column="1" Margin="10,2,2,2" ColumnDefinitions="Auto, 120" RowDefinitions="Auto,Auto,Auto,Auto,Auto">
  22. <TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Margin="2">FormatString:</TextBlock>
  23. <ComboBox Grid.Row="0" Grid.Column="1" Items="{Binding Formats}" SelectedItem="{Binding SelectedFormat}"
  24. VerticalAlignment="Center" Margin="2">
  25. <ComboBox.ItemTemplate>
  26. <DataTemplate>
  27. <StackPanel Orientation="Horizontal" Spacing="2">
  28. <TextBlock Text="{Binding Name}"/>
  29. <TextBlock Text="-"/>
  30. <TextBlock Text="{Binding Value}"/>
  31. </StackPanel>
  32. </DataTemplate>
  33. </ComboBox.ItemTemplate>
  34. </ComboBox>
  35. <TextBlock Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Margin="2">ButtonSpinnerLocation:</TextBlock>
  36. <ComboBox Grid.Row="1" Grid.Column="1" Items="{Binding SpinnerLocations}" SelectedItem="{Binding #upDown.ButtonSpinnerLocation}"
  37. VerticalAlignment="Center" Margin="2"/>
  38. <TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Margin="2">CultureInfo:</TextBlock>
  39. <ComboBox Grid.Row="2" Grid.Column="1" Items="{Binding Cultures}" SelectedItem="{Binding #upDown.CultureInfo}"
  40. VerticalAlignment="Center" Margin="2"/>
  41. <TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" Margin="2">Watermark:</TextBlock>
  42. <TextBox Grid.Row="3" Grid.Column="1" Text="{Binding #upDown.Watermark}" VerticalAlignment="Center" Margin="2" />
  43. <TextBlock Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" Margin="2">Text:</TextBlock>
  44. <TextBox Grid.Row="4" Grid.Column="1" Text="{Binding #upDown.Text}" VerticalAlignment="Center" Margin="2" />
  45. </Grid>
  46. <Grid Grid.Row="0" Grid.Column="2" Margin="10,2,2,2" RowDefinitions="Auto,Auto,Auto,Auto,Auto" ColumnDefinitions="Auto, Auto">
  47. <TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Margin="10,2,2,2">Minimum:</TextBlock>
  48. <NumericUpDown Grid.Row="0" Grid.Column="1" Value="{Binding #upDown.Minimum}"
  49. CultureInfo="{Binding #upDown.CultureInfo}" VerticalAlignment="Center" Margin="2" HorizontalAlignment="Center"/>
  50. <TextBlock Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Margin="10,2,2,2">Maximum:</TextBlock>
  51. <NumericUpDown Grid.Row="1" Grid.Column="1" Value="{Binding #upDown.Maximum}"
  52. CultureInfo="{Binding #upDown.CultureInfo}" VerticalAlignment="Center" Margin="2" HorizontalAlignment="Center"/>
  53. <TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Margin="10,2,2,2">Increment:</TextBlock>
  54. <NumericUpDown Grid.Row="2" Grid.Column="1" Value="{Binding #upDown.Increment}" VerticalAlignment="Center"
  55. Margin="2" HorizontalAlignment="Center"/>
  56. <TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" Margin="10,2,2,2">Value:</TextBlock>
  57. <NumericUpDown Grid.Row="3" Grid.Column="1" Value="{Binding #upDown.Value}" VerticalAlignment="Center"
  58. Margin="2" HorizontalAlignment="Center"/>
  59. </Grid>
  60. </Grid>
  61. <WrapPanel Margin="2,10,2,2">
  62. <StackPanel Orientation="Vertical" Margin="10">
  63. <Label Target="upDown" FontSize="14" FontWeight="Bold" VerticalAlignment="Center">Usage of decimal NumericUpDown:</Label>
  64. <NumericUpDown Name="upDown" Minimum="0" Maximum="10" Increment="0.5"
  65. CultureInfo="en-US" VerticalAlignment="Center" Value="{Binding DecimalValue}"
  66. Watermark="Enter text" FormatString="{Binding SelectedFormat.Value}"/>
  67. </StackPanel>
  68. <StackPanel Orientation="Vertical" Margin="10">
  69. <Label Target="DoubleUpDown" FontSize="14" FontWeight="Bold" VerticalAlignment="Center">Usage of double NumericUpDown:</Label>
  70. <NumericUpDown Name="DoubleUpDown" Minimum="0" Maximum="10" Increment="0.5"
  71. CultureInfo="en-US" VerticalAlignment="Center" Value="{Binding DoubleValue}"
  72. Watermark="Enter text" FormatString="{Binding SelectedFormat.Value}"/>
  73. </StackPanel>
  74. <StackPanel Orientation="Vertical" Margin="10">
  75. <Label Target="ValidationUpDown" FontSize="14" FontWeight="Bold" VerticalAlignment="Center">NumericUpDown with Validation Errors:</Label>
  76. <NumericUpDown x:Name="ValidationUpDown" Minimum="0" Maximum="10" Increment="0.5"
  77. CultureInfo="en-US" VerticalAlignment="Center"
  78. Watermark="Enter text" FormatString="{Binding SelectedFormat.Value}">
  79. <DataValidationErrors.Error>
  80. <sys:Exception />
  81. </DataValidationErrors.Error>
  82. </NumericUpDown>
  83. </StackPanel>
  84. </WrapPanel>
  85. </StackPanel>
  86. </UserControl>