123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- <ResourceDictionary x:Class="SukiUI.Controls.PropertyGridTemplateSelector"
- xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:controls="clr-namespace:SukiUI.Controls;assembly=SukiUI">
- <controls:DateTimePickerSelectedDateConverter x:Key="DateTimePickerSelectedDateConverter" />
- <DataTemplate x:Key="CategoryViewModel" DataType="controls:CategoryViewModel">
- <Expander Padding="10,20,10,20" Margin="0,0,0,10" Grid.IsSharedSizeScope="True"
- Header="{Binding DisplayName}"
- IsExpanded="True">
- <ItemsControl Margin="7,0,0,20" ItemsSource="{Binding Properties}" />
- </Expander>
- </DataTemplate>
- <DataTemplate x:Key="StringViewModel" DataType="controls:StringViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <TextBox Grid.Column="2"
- HorizontalAlignment="Right" MinWidth="120"
- VerticalAlignment="Center"
- HorizontalContentAlignment="Right"
- IsReadOnly="{Binding IsReadOnly}"
- Text="{Binding Value}" />
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="DateTimeOffsetViewModel" DataType="controls:DateTimeOffsetViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <DatePicker Grid.Column="2" Width="175"
- Margin="-6,0" Height="36"
- HorizontalAlignment="Right"
- VerticalAlignment="Stretch"
- IsEnabled="{Binding !IsReadOnly}"
- SelectedDate="{Binding Value, Converter={StaticResource DateTimePickerSelectedDateConverter}}" />
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="DateTimeViewModel" DataType="controls:DateTimeViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <DatePicker Grid.Column="2"
- Margin="-6,0" Height="36"
- HorizontalAlignment="Right" Width="175"
- VerticalAlignment="Stretch"
- IsEnabled="{Binding !IsReadOnly}"
- SelectedDate="{Binding Value, Converter={StaticResource DateTimePickerSelectedDateConverter}}" />
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="IntegerViewModel" DataType="controls:IntegerViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <NumericUpDown Classes="NumberSelector" Increment="1" />
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="DoubleViewModel" DataType="controls:DoubleViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <NumericUpDown Classes="NumberSelector" Increment="0.001" />
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="BoolViewModel" DataType="controls:BoolViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <ToggleSwitch Grid.Column="2"
- Margin="-2,0"
- VerticalAlignment="Stretch"
- HorizontalContentAlignment="Right" HorizontalAlignment="Right"
- IsChecked="{Binding Value}"
- IsEnabled="{Binding !IsReadOnly}" />
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="DecimalViewModel" DataType="controls:DecimalViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <NumericUpDown Classes="NumberSelector" Increment="0.001" />
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="FloatViewModel" DataType="controls:FloatViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <NumericUpDown Classes="NumberSelector" Increment="0.001" />
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="LongViewModel" DataType="controls:LongViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <NumericUpDown Classes="NumberSelector" Increment="1" />
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="ComplexTypeViewModel" DataType="controls:ComplexTypeViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <Button Grid.Column="2"
- HorizontalAlignment="Right"
- Height="36" Margin="4,0"
- Click="OnMoreInfoClick">
- <TextBlock Text="More Info" />
- </Button>
- </Grid>
- </DataTemplate>
- <DataTemplate x:Key="EnumViewModel" DataType="controls:EnumViewModel">
- <Grid Classes="Row">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" SharedSizeGroup="PropertyGridDisplyColumn" />
- <ColumnDefinition Width="4" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Classes="Label" />
- <ComboBox Grid.Column="2"
- HorizontalAlignment="Right" MinWidth="120"
- VerticalAlignment="Stretch"
- HorizontalContentAlignment="Center"
- IsEnabled="{Binding !IsReadOnly}"
- ItemsSource="{Binding Values}"
- SelectedItem="{Binding Value}" />
- </Grid>
- </DataTemplate>
- </ResourceDictionary>
|