1
0
Fork 0

fix(ui): eliminate top margin above inspector header by setting Grid.RowSpan=2

This commit is contained in:
Yun Chan 2026-09-05 13:02:53 +09:00
parent 388d6707d0
commit f00f6567f4
3 changed files with 31 additions and 5 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4" xmlns:desktop5="http://schemas.microsoft.com/appx/manifest/desktop/windows10/5" xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10" IgnorableNamespaces="uap rescap desktop desktop4 desktop5 com"> <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4" xmlns:desktop5="http://schemas.microsoft.com/appx/manifest/desktop/windows10/5" xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10" IgnorableNamespaces="uap rescap desktop desktop4 desktop5 com">
<Identity Name="Everything2Everything.YunChan" Publisher="CN=Everything2EverythingDev" Version="1.0.20.0" ProcessorArchitecture="x64" /> <Identity Name="Everything2Everything.YunChan" Publisher="CN=Everything2EverythingDev" Version="1.0.21.0" ProcessorArchitecture="x64" />
<Properties> <Properties>
<DisplayName>Everything2Everything</DisplayName> <DisplayName>Everything2Everything</DisplayName>
<PublisherDisplayName>YunChan</PublisherDisplayName> <PublisherDisplayName>YunChan</PublisherDisplayName>

View file

@ -1232,8 +1232,8 @@
</Grid> </Grid>
<!-- /좌측 컬럼 끝 --> <!-- /좌측 컬럼 끝 -->
<!-- 우측: Preview 컬럼 (항상 보임) --> <!-- 우측: Preview 컬럼 (상단 툴바부터 전고 일체형) -->
<Border Grid.Row="1" Grid.Column="1" <Border Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
Background="{StaticResource FsBgPanel}" Background="{StaticResource FsBgPanel}"
BorderBrush="{StaticResource FsBorderSubtle}" BorderBrush="{StaticResource FsBorderSubtle}"
BorderThickness="1,0,0,0"> BorderThickness="1,0,0,0">
@ -1244,8 +1244,8 @@
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!-- 헤더 --> <!-- 헤더: 좌측 검색 툴바와 수평 기준선 및 하단 경계선 정합 -->
<Border Grid.Row="0" Padding="20,12,16,12" <Border Grid.Row="0" Height="47" Padding="20,0,16,0"
BorderBrush="{StaticResource FsBorderSubtle}" BorderBrush="{StaticResource FsBorderSubtle}"
BorderThickness="0,0,0,1"> BorderThickness="0,0,0,1">
<Grid VerticalAlignment="Center"> <Grid VerticalAlignment="Center">

View file

@ -1078,6 +1078,32 @@ public class DesignAuditAstTests
Assert.True(hasCtrlA, "Window.InputBindings에 Ctrl+A 단축키가 등록되어야 합니다."); Assert.True(hasCtrlA, "Window.InputBindings에 Ctrl+A 단축키가 등록되어야 합니다.");
Assert.True(hasDelete, "Window.InputBindings에 Delete 단축키가 등록되어야 합니다."); Assert.True(hasDelete, "Window.InputBindings에 Delete 단축키가 등록되어야 합니다.");
} }
[Fact]
public void InspectorPanel_MustSpanFullHeight_And_NotLeaveTopDeadSpace()
{
// 미리보기 패널(Inspector Border)은 검색 툴바 상단에 빈 공간/어색한 마진을 남기지 않도록
// Grid.RowSpan="2" 및 Grid.Row="0"으로 메인 영역 전체 높이에 걸쳐 배치되어야 한다.
var file = Path.Combine(ViewsDir, "MainWindow.xaml");
var doc = XDocument.Parse(File.ReadAllText(file));
var mainViewGrid = doc.Descendants().FirstOrDefault(e =>
e.Name.LocalName == "Grid" &&
e.Elements().Any(c => c.Name.LocalName == "Grid.ColumnDefinitions" &&
c.Elements().Any(cd => cd.Attribute(XName.Get("Name", "http://schemas.microsoft.com/winfx/2006/xaml"))?.Value == "InspectorColumn")));
Assert.NotNull(mainViewGrid);
var previewBorder = mainViewGrid.Elements().FirstOrDefault(e =>
e.Name.LocalName == "Border" &&
e.Attribute("Grid.Column")?.Value == "1");
Assert.NotNull(previewBorder);
var row = previewBorder.Attribute("Grid.Row")?.Value ?? "0";
var rowSpan = previewBorder.Attribute("Grid.RowSpan")?.Value;
Assert.Equal("0", row);
Assert.Equal("2", rowSpan);
}
} }