feat(ui): make island layout user-resizable with grid splitters
Replaces fixed 260/*/320 columns with two GridSplitters between Lists/Tasks/Details. Min widths preserved (200/320/280). Right splitter hides when ShowDetails is false. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -141,15 +141,42 @@
|
||||
</Border.Background>
|
||||
</Border>
|
||||
|
||||
<!-- Three islands -->
|
||||
<Grid Grid.Row="2" Margin="7" ColumnDefinitions="260,*,320">
|
||||
<!-- Three islands (user-resizable) -->
|
||||
<Grid Grid.Row="2" Margin="7">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="260" MinWidth="200"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*" MinWidth="320"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="320" MinWidth="280"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Border Grid.Column="0" Classes="island" Margin="7">
|
||||
<islands:ListsIslandView DataContext="{Binding Lists}"/>
|
||||
</Border>
|
||||
<Border Grid.Column="1" Classes="island" Margin="7">
|
||||
|
||||
<GridSplitter Grid.Column="1"
|
||||
Width="3"
|
||||
Background="Transparent"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
ResizeDirection="Columns"
|
||||
ResizeBehavior="PreviousAndNext"/>
|
||||
|
||||
<Border Grid.Column="2" Classes="island" Margin="7">
|
||||
<islands:TasksIslandView DataContext="{Binding Tasks}"/>
|
||||
</Border>
|
||||
<Border Grid.Column="2" Classes="island" Margin="7"
|
||||
|
||||
<GridSplitter Grid.Column="3"
|
||||
Width="3"
|
||||
Background="Transparent"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
ResizeDirection="Columns"
|
||||
ResizeBehavior="PreviousAndNext"
|
||||
IsVisible="{Binding ShowDetails}"/>
|
||||
|
||||
<Border Grid.Column="4" Classes="island" Margin="7"
|
||||
IsVisible="{Binding ShowDetails}">
|
||||
<islands:DetailsIslandView DataContext="{Binding Details}"/>
|
||||
</Border>
|
||||
|
||||
Reference in New Issue
Block a user