Browse Source

feat(DevTools): Shows the property type and the type assigned to the property in a single or split column.

pull/6280/head
Giuseppe Lippolis 5 years ago
parent
commit
739d9de5b7
  1. 3
      src/Avalonia.Diagnostics/Diagnostics/ViewModels/PropertyViewModel.cs
  2. 9
      src/Avalonia.Diagnostics/Diagnostics/Views/ControlDetailsView.xaml
  3. 2
      src/Avalonia.Diagnostics/Diagnostics/Views/MainView.xaml

3
src/Avalonia.Diagnostics/Diagnostics/ViewModels/PropertyViewModel.cs

@ -24,6 +24,9 @@ namespace Avalonia.Diagnostics.ViewModels
public abstract bool? IsAttached { get; } public abstract bool? IsAttached { get; }
public abstract void Update(); public abstract void Update();
public abstract string PropertyType { get; } public abstract string PropertyType { get; }
public string Type => PropertyType == AssignedType
? PropertyType
: $"{PropertyType} {{{AssignedType}}}";
protected static string GetTypeName(Type type) protected static string GetTypeName(Type type)

9
src/Avalonia.Diagnostics/Diagnostics/Views/ControlDetailsView.xaml

@ -33,7 +33,14 @@
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Header="Property" Binding="{Binding Name}" IsReadOnly="True" /> <DataGridTextColumn Header="Property" Binding="{Binding Name}" IsReadOnly="True" />
<DataGridTextColumn Header="Value" Binding="{Binding Value}" /> <DataGridTextColumn Header="Value" Binding="{Binding Value}" />
<DataGridTextColumn Header="Assinged Type" Binding="{Binding AssignedType}" IsReadOnly="True"/> <DataGridTextColumn Header="Type" Binding="{Binding Type}"
IsReadOnly="True"
IsVisible="{Binding !$parent[UserControl;2].DataContext.ShowDettailsPropertyType}"
/>
<DataGridTextColumn Header="Assinged Type" Binding="{Binding AssignedType}"
IsReadOnly="True"
IsVisible="{Binding $parent[UserControl;2].DataContext.ShowDettailsPropertyType}"
/>
<DataGridTextColumn Header="Property Type" Binding="{Binding PropertyType}" <DataGridTextColumn Header="Property Type" Binding="{Binding PropertyType}"
IsReadOnly="True" IsReadOnly="True"
IsVisible="{Binding $parent[UserControl;2].DataContext.ShowDettailsPropertyType}" IsVisible="{Binding $parent[UserControl;2].DataContext.ShowDettailsPropertyType}"

2
src/Avalonia.Diagnostics/Diagnostics/Views/MainView.xaml

@ -16,7 +16,7 @@
</MenuItem.Icon> </MenuItem.Icon>
</MenuItem> </MenuItem>
<MenuItem Header="_Dettails"> <MenuItem Header="_Dettails">
<MenuItem Header="Show Property Type" Command="{Binding ToggleShowDettailsPropertyType}"> <MenuItem Header="Split Property Type" Command="{Binding ToggleShowDettailsPropertyType}">
<MenuItem.Icon> <MenuItem.Icon>
<CheckBox BorderThickness="0" <CheckBox BorderThickness="0"
IsChecked="{Binding ShowDettailsPropertyType}" IsChecked="{Binding ShowDettailsPropertyType}"

Loading…
Cancel
Save