레이어 행 이름 잘림 해소 + 라이트 선택색을 연한 파랑으로
이름이 잘려 행을 구분할 수 없었다 눈·자물쇠가 48px 를 상시 차지해 이름 칸이 한글 11자로 줄었다. 운영 서식에는 '입원일 복용약-전립선약' 처럼 앞이 같고 끝에서 갈리는 이름이 흔해 전부 '입원일 복용약-…' 로 잘렸다 — 목록만 보고는 어느 행인지 알 수 없었다. 두 토글을 평소엔 숨기고 마우스를 올린 행에서만 띄운다. 잠김·숨김이 켜진 행에서는 계속 띄운다(거기서까지 숨기면 마우스를 올리기 전에는 상태를 알 방법이 없다). [200] 은 항상 띄우지만 여기서만 갈라선다 — 폭이 곧 가독성이라서. 라이트 모드 선택 밴드가 너무 무거웠다 양 테마 모두 짙은 파랑(#0F6FBF)에 흰 글자를 쓰다 보니, 흰 배경에 짙은 슬라브가 얹혀 선택 몇 줄이 패널 전체를 짓눌렀다. 라이트만 방향을 뒤집는다 — 연한 채움(#A8D3F7, 흰 패널 대비 1.58:1) + 진한 글자(10.1:1). 서브트리도 한 단계 옅게(#DCEBFB) 해서 '폴더가 주인, 멤버는 딸림'이 색 세기로 읽힌다. 밴드 위 글자색을 B.OnAccent(흰색 고정)에서 신설 토큰 B.OnLayerSel 로 바꿔 테마별로 갈라지게 했다(다크 흰색 / 라이트 #222222). 보조 텍스트도 라이트만 #35536C 로(연한 채움 위 5.12:1 — 기존 #E6F1FB 는 라이트에서 사라진다). 회귀: 테스트 124/124, 편집 스모크 실패 0(레이어 검사 45건), DB 왕복 1,271건 diff 0/예외 0, 종이 렌더 P062 바이트 동일. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
c22d84fb61
commit
b47c7af8df
@@ -463,6 +463,14 @@ public static class EditSmoke
|
|||||||
Check("레이어: 잠금 토글이 Undo 로 원복",
|
Check("레이어: 잠금 토글이 Undo 로 원복",
|
||||||
lay.Pages.SelectMany(p => p.Controls).All(c => !c.Model.Locked) && depthBefore);
|
lay.Pages.SelectMany(p => p.Controls).All(c => !c.Model.Locked) && depthBefore);
|
||||||
|
|
||||||
|
// 눈·자물쇠는 평소 숨기고 호버/상태 켜짐일 때만 띄운다 — 그 판정 플래그
|
||||||
|
var flagRow = lay.LayerRows.OfType<ControlViewModel>().First();
|
||||||
|
Check("레이어: 상태 없으면 토글 숨김 대상", !flagRow.HasLayerFlag);
|
||||||
|
flagRow.IsHiddenFlag = true;
|
||||||
|
Check("레이어: 숨김이면 토글 계속 표시", flagRow.HasLayerFlag);
|
||||||
|
flagRow.IsHiddenFlag = false;
|
||||||
|
Check("레이어: 해제하면 다시 숨김 대상", !flagRow.HasLayerFlag);
|
||||||
|
|
||||||
// 데이터 배선 배지
|
// 데이터 배선 배지
|
||||||
var badgeTarget = lay.Pages[0].Controls[0];
|
var badgeTarget = lay.Pages[0].Controls[0];
|
||||||
Check("레이어: 배선 없는 컨트롤은 배지 없음", !badgeTarget.HasDataBinding);
|
Check("레이어: 배선 없는 컨트롤은 배지 없음", !badgeTarget.HasDataBinding);
|
||||||
|
|||||||
@@ -742,7 +742,8 @@
|
|||||||
|
|
||||||
<DataTrigger Binding="{Binding Highlight}" Value="Blue">
|
<DataTrigger Binding="{Binding Highlight}" Value="Blue">
|
||||||
<Setter TargetName="bd" Property="Background" Value="{DynamicResource B.LayerSel}" />
|
<Setter TargetName="bd" Property="Background" Value="{DynamicResource B.LayerSel}" />
|
||||||
<Setter Property="Foreground" Value="{DynamicResource B.OnAccent}" />
|
<!-- 흰색 고정이 아니다 — 라이트는 연한 채움이라 진한 글자를 얹는다 -->
|
||||||
|
<Setter Property="Foreground" Value="{DynamicResource B.OnLayerSel}" />
|
||||||
</DataTrigger>
|
</DataTrigger>
|
||||||
<DataTrigger Binding="{Binding Highlight}" Value="Navy">
|
<DataTrigger Binding="{Binding Highlight}" Value="Navy">
|
||||||
<Setter TargetName="bd" Property="Background" Value="{DynamicResource B.LayerSubtree}" />
|
<Setter TargetName="bd" Property="Background" Value="{DynamicResource B.LayerSubtree}" />
|
||||||
@@ -775,6 +776,28 @@
|
|||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
레이어 행의 눈·자물쇠 — 평소엔 숨기고, 마우스를 올렸거나 상태가 켜진 행에서만 보인다.
|
||||||
|
|
||||||
|
항상 띄워 두면 두 토글이 48px 를 상시 차지해 이름 칸이 한글 11자로 줄어든다. 운영 서식에는
|
||||||
|
'입원일 복용약-전립선약' 처럼 앞부분이 같고 끝에서 갈리는 이름이 흔해서, 그 폭에서는
|
||||||
|
목록만 보고 행을 구분할 수 없다(전부 '입원일 복용약-…' 로 잘린다).
|
||||||
|
|
||||||
|
상태가 켜진 행에서는 계속 띄운다 — 거기서까지 숨기면 마우스를 올리기 전에는
|
||||||
|
무엇이 잠겼는지 알 방법이 없다.
|
||||||
|
-->
|
||||||
|
<Style x:Key="LayerRowToggle" TargetType="ToggleButton" BasedOn="{StaticResource MiniToggle}">
|
||||||
|
<Setter Property="Visibility" Value="Collapsed" />
|
||||||
|
<Style.Triggers>
|
||||||
|
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=ListBoxItem}}" Value="True">
|
||||||
|
<Setter Property="Visibility" Value="Visible" />
|
||||||
|
</DataTrigger>
|
||||||
|
<DataTrigger Binding="{Binding HasLayerFlag}" Value="True">
|
||||||
|
<Setter Property="Visibility" Value="Visible" />
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
접기/펼치기 셰브론 — 켜짐(=펼침)이 기본 상태라 IsChecked 채움이 들어가면 항상 눌린 것처럼 보인다.
|
접기/펼치기 셰브론 — 켜짐(=펼침)이 기본 상태라 IsChecked 채움이 들어가면 항상 눌린 것처럼 보인다.
|
||||||
방향이 이미 상태를 말해 주므로 채움은 빼고 호버 반응만 남긴다.
|
방향이 이미 상태를 말해 주므로 채움은 빼고 호버 반응만 남긴다.
|
||||||
|
|||||||
@@ -26,6 +26,8 @@
|
|||||||
<SolidColorBrush x:Key="B.LayerSel" Color="#0F6FBF" />
|
<SolidColorBrush x:Key="B.LayerSel" Color="#0F6FBF" />
|
||||||
<!-- 그룹 전원 선택 시 멤버 행 배경. [200] 원본 #14283A 는 B.Hover 대비 1.03:1 로 밴드가 안 읽힌다 -->
|
<!-- 그룹 전원 선택 시 멤버 행 배경. [200] 원본 #14283A 는 B.Hover 대비 1.03:1 로 밴드가 안 읽힌다 -->
|
||||||
<SolidColorBrush x:Key="B.LayerSubtree" Color="#16304A" />
|
<SolidColorBrush x:Key="B.LayerSubtree" Color="#16304A" />
|
||||||
|
<!-- 선택 밴드 위 글자 — 다크는 짙은 채움이라 흰색(라이트는 반대로 진한 글자를 쓴다) -->
|
||||||
|
<SolidColorBrush x:Key="B.OnLayerSel" Color="#FFFFFF" />
|
||||||
<!-- 선택 밴드 위 보조 텍스트(컨트롤 이름 둘째 줄·멤버 수). B.Muted 는 #0F6FBF 위 1.75:1 로 사라진다 -->
|
<!-- 선택 밴드 위 보조 텍스트(컨트롤 이름 둘째 줄·멤버 수). B.Muted 는 #0F6FBF 위 1.75:1 로 사라진다 -->
|
||||||
<SolidColorBrush x:Key="B.OnSelMuted" Color="#E6F1FB" />
|
<SolidColorBrush x:Key="B.OnSelMuted" Color="#E6F1FB" />
|
||||||
<SolidColorBrush x:Key="B.Accent2" Color="#2A2A2A" />
|
<SolidColorBrush x:Key="B.Accent2" Color="#2A2A2A" />
|
||||||
|
|||||||
@@ -30,17 +30,23 @@
|
|||||||
<!-- 강조 채움(Primary 버튼) — 흰 글자를 얹으므로 5.19:1. 양 테마 동일값. -->
|
<!-- 강조 채움(Primary 버튼) — 흰 글자를 얹으므로 5.19:1. 양 테마 동일값. -->
|
||||||
<SolidColorBrush x:Key="B.AccentFill" Color="#0F6FBF" />
|
<SolidColorBrush x:Key="B.AccentFill" Color="#0F6FBF" />
|
||||||
<!--
|
<!--
|
||||||
레이어 목록 전용 3종 — 다크 대응본 주석 참조.
|
레이어 목록 전용 4종 — 다크 대응본과 <b>방향이 반대</b>다.
|
||||||
선택 밴드는 흰 글자를 얹으므로 양 테마 동일한 짙은 값(#0F6FBF, 흰 패널 위 5.19:1).
|
다크는 짙은 파랑 채움 + 흰 글자, 라이트는 연한 파랑 채움 + 진한 글자로 간다.
|
||||||
|
흰 배경에 짙은 파랑 슬라브를 얹으면 선택 몇 줄이 패널 전체를 짓눌러 목록이 안 읽힌다.
|
||||||
|
|
||||||
|
#A8D3F7: 흰 패널 대비 1.58:1 로 밴드가 분명히 보이고, 그 위 B.Ink 는 10.1:1.
|
||||||
-->
|
-->
|
||||||
<SolidColorBrush x:Key="B.LayerSel" Color="#0F6FBF" />
|
<SolidColorBrush x:Key="B.LayerSel" Color="#A8D3F7" />
|
||||||
<!--
|
<!--
|
||||||
그룹 전원 선택 시 멤버 행 배경. [200] 원본 #E4F2FF 는 흰 패널 위 1.14:1 로 밴드가 안 읽히고,
|
그룹 전원 선택 시 멤버 행 배경 — 선택 밴드보다 한 단계 옅게(선택 대비 1.30:1)
|
||||||
같은 hex 가 B.Accent2 에서 이미 기각됐다. #D3E7FA 는 1.26:1 — 옆 파란 밴드와 이어져 보이는
|
해서 '폴더가 주인, 멤버는 딸림'이 색 세기로 읽히게 한다.
|
||||||
선에서 존재는 드러난다.
|
[200] 원본 #E4F2FF 는 흰 패널 위 1.14:1 이고 같은 hex 가 B.Accent2 에서 이미 기각됐다.
|
||||||
-->
|
-->
|
||||||
<SolidColorBrush x:Key="B.LayerSubtree" Color="#D3E7FA" />
|
<SolidColorBrush x:Key="B.LayerSubtree" Color="#DCEBFB" />
|
||||||
<SolidColorBrush x:Key="B.OnSelMuted" Color="#E6F1FB" />
|
<!-- 선택 밴드 위 글자 — 라이트는 연한 채움이라 흰 글자를 쓸 수 없다 -->
|
||||||
|
<SolidColorBrush x:Key="B.OnLayerSel" Color="#222222" />
|
||||||
|
<!-- 선택 밴드 위 보조 텍스트(컨트롤 이름 둘째 줄·멤버 수) — #A8D3F7 위 5.12:1 -->
|
||||||
|
<SolidColorBrush x:Key="B.OnSelMuted" Color="#35536C" />
|
||||||
<SolidColorBrush x:Key="B.Accent2" Color="#CFE7FF" /><!-- 활성 틴트 — 흰 바 위 1.14:1 로는 켜짐이 안 읽혀 진하게 -->
|
<SolidColorBrush x:Key="B.Accent2" Color="#CFE7FF" /><!-- 활성 틴트 — 흰 바 위 1.14:1 로는 켜짐이 안 읽혀 진하게 -->
|
||||||
<SolidColorBrush x:Key="B.Sel" Color="#C2E2FF" /><!-- 선택 채움 — 흰 배경 1.19:1 은 선택 여부가 안 보인다 -->
|
<SolidColorBrush x:Key="B.Sel" Color="#C2E2FF" /><!-- 선택 채움 — 흰 배경 1.19:1 은 선택 여부가 안 보인다 -->
|
||||||
<SolidColorBrush x:Key="B.Hover" Color="#EAEAEA" />
|
<SolidColorBrush x:Key="B.Hover" Color="#EAEAEA" />
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using SheetMe.Core.Models;
|
using SheetMe.Core.Models;
|
||||||
using SheetMe.Core.Serialization;
|
using SheetMe.Core.Serialization;
|
||||||
@@ -131,6 +131,7 @@ public abstract class ControlViewModel : ViewModelBase, ILayerRow
|
|||||||
OnPropertyChanged(nameof(IsLockedFlag));
|
OnPropertyChanged(nameof(IsLockedFlag));
|
||||||
OnPropertyChanged(nameof(LockIcon));
|
OnPropertyChanged(nameof(LockIcon));
|
||||||
OnPropertyChanged(nameof(LockIconSpec));
|
OnPropertyChanged(nameof(LockIconSpec));
|
||||||
|
OnPropertyChanged(nameof(HasLayerFlag));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,6 +150,7 @@ public abstract class ControlViewModel : ViewModelBase, ILayerRow
|
|||||||
OnPropertyChanged(nameof(IsHiddenFlag));
|
OnPropertyChanged(nameof(IsHiddenFlag));
|
||||||
OnPropertyChanged(nameof(HiddenIcon));
|
OnPropertyChanged(nameof(HiddenIcon));
|
||||||
OnPropertyChanged(nameof(HiddenIconSpec));
|
OnPropertyChanged(nameof(HiddenIconSpec));
|
||||||
|
OnPropertyChanged(nameof(HasLayerFlag));
|
||||||
OnPropertyChanged(nameof(DesignOpacity));
|
OnPropertyChanged(nameof(DesignOpacity));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -156,6 +158,13 @@ public abstract class ControlViewModel : ViewModelBase, ILayerRow
|
|||||||
/// <summary>디자인 표시 불투명도 — 숨김이면 0.25</summary>
|
/// <summary>디자인 표시 불투명도 — 숨김이면 0.25</summary>
|
||||||
public double DesignOpacity => Model.Hidden ? 0.25 : 1.0;
|
public double DesignOpacity => Model.Hidden ? 0.25 : 1.0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 잠금·숨김 중 하나라도 켜져 있는가 — 레이어 행에서 눈·자물쇠를 계속 띄워 둘지 판단.
|
||||||
|
/// 평소에는 두 토글을 숨겨 이름 칸을 넓히지만, 상태가 켜진 행에서까지 숨기면
|
||||||
|
/// 마우스를 올리기 전에는 무엇이 잠겼는지 알 수 없다.
|
||||||
|
/// </summary>
|
||||||
|
public bool HasLayerFlag => Model.Locked || Model.Hidden;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 레이어 목록 표시명 — Text 가 있으면 그것, 없으면 Id.
|
/// 레이어 목록 표시명 — Text 가 있으면 그것, 없으면 Id.
|
||||||
///
|
///
|
||||||
@@ -200,7 +209,7 @@ public abstract class ControlViewModel : ViewModelBase, ILayerRow
|
|||||||
/// 강조 밴드 위 아이콘 색 — 밴드는 짙은 파랑 채움이라 보조색(B.Muted)을 그대로 두면
|
/// 강조 밴드 위 아이콘 색 — 밴드는 짙은 파랑 채움이라 보조색(B.Muted)을 그대로 두면
|
||||||
/// 눈·자물쇠가 1.6:1 로 묻힌다. 선택한 행에서 잠금 상태가 안 보이면 배지의 의미가 없다.
|
/// 눈·자물쇠가 1.6:1 로 묻힌다. 선택한 행에서 잠금 상태가 안 보이면 배지의 의미가 없다.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private string RowIconKey => layerHighlight == LayerHighlight.Blue ? "B.OnAccent" : "B.Muted";
|
private string RowIconKey => layerHighlight == LayerHighlight.Blue ? "B.OnLayerSel" : "B.Muted";
|
||||||
|
|
||||||
/// <summary>잠금 토글 아이콘 사양</summary>
|
/// <summary>잠금 토글 아이콘 사양</summary>
|
||||||
public string LockIconSpec => $"{LockIcon}|13|{RowIconKey}";
|
public string LockIconSpec => $"{LockIcon}|13|{RowIconKey}";
|
||||||
@@ -263,7 +272,7 @@ public abstract class ControlViewModel : ViewModelBase, ILayerRow
|
|||||||
public string LayerIconSpec =>
|
public string LayerIconSpec =>
|
||||||
$"{SheetMe.Designer.Controls.PaletteIconCatalog.IconOf(Type)}|14|" + layerHighlight switch
|
$"{SheetMe.Designer.Controls.PaletteIconCatalog.IconOf(Type)}|14|" + layerHighlight switch
|
||||||
{
|
{
|
||||||
LayerHighlight.Blue => "B.OnAccent",
|
LayerHighlight.Blue => "B.OnLayerSel",
|
||||||
LayerHighlight.Navy => "B.AccentText",
|
LayerHighlight.Navy => "B.AccentText",
|
||||||
_ => "B.Accent",
|
_ => "B.Accent",
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using SheetMe.Designer.ViewModels.Controls;
|
using SheetMe.Designer.ViewModels.Controls;
|
||||||
|
|
||||||
namespace SheetMe.Designer.ViewModels;
|
namespace SheetMe.Designer.ViewModels;
|
||||||
|
|
||||||
@@ -98,8 +98,14 @@ public sealed class LayerGroupViewModel : ViewModelBase, ILayerRow
|
|||||||
/// <summary>숨김 아이콘명 — 하나라도 숨겨져 있으면 숨긴 모양</summary>
|
/// <summary>숨김 아이콘명 — 하나라도 숨겨져 있으면 숨긴 모양</summary>
|
||||||
public string HiddenIcon => Members.Any(m => m.IsHiddenFlag) ? "eye-off" : "eye";
|
public string HiddenIcon => Members.Any(m => m.IsHiddenFlag) ? "eye-off" : "eye";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 멤버 중 하나라도 잠기거나 숨겨져 있는가 — 폴더 행의 눈·자물쇠를 계속 띄워 둘지 판단.
|
||||||
|
/// <see cref="IsLockedFlag"/>(전원 기준)이 아니라 하나라도 기준인 이유는 아이콘도 같은 기준이기 때문이다.
|
||||||
|
/// </summary>
|
||||||
|
public bool HasLayerFlag => Members.Any(m => m.IsLockedFlag || m.IsHiddenFlag);
|
||||||
|
|
||||||
/// <summary>강조 밴드 위 아이콘 색 — 짙은 파랑 채움 위에서 보조색은 묻힌다</summary>
|
/// <summary>강조 밴드 위 아이콘 색 — 짙은 파랑 채움 위에서 보조색은 묻힌다</summary>
|
||||||
private string RowIconKey => highlight == LayerHighlight.Blue ? "B.OnAccent" : "B.Muted";
|
private string RowIconKey => highlight == LayerHighlight.Blue ? "B.OnLayerSel" : "B.Muted";
|
||||||
|
|
||||||
/// <summary>그룹 잠금 아이콘 사양</summary>
|
/// <summary>그룹 잠금 아이콘 사양</summary>
|
||||||
public string LockIconSpec => $"{LockIcon}|13|{RowIconKey}";
|
public string LockIconSpec => $"{LockIcon}|13|{RowIconKey}";
|
||||||
@@ -162,7 +168,7 @@ public sealed class LayerGroupViewModel : ViewModelBase, ILayerRow
|
|||||||
/// <summary>폴더 아이콘 사양 — 강조 밴드 위에서는 흰색으로 뒤집는다</summary>
|
/// <summary>폴더 아이콘 사양 — 강조 밴드 위에서는 흰색으로 뒤집는다</summary>
|
||||||
public string FolderIconSpec => "folder|14|" + highlight switch
|
public string FolderIconSpec => "folder|14|" + highlight switch
|
||||||
{
|
{
|
||||||
LayerHighlight.Blue => "B.OnAccent",
|
LayerHighlight.Blue => "B.OnLayerSel",
|
||||||
LayerHighlight.Navy => "B.AccentText",
|
LayerHighlight.Navy => "B.AccentText",
|
||||||
_ => "B.Accent",
|
_ => "B.Accent",
|
||||||
};
|
};
|
||||||
@@ -178,6 +184,7 @@ public sealed class LayerGroupViewModel : ViewModelBase, ILayerRow
|
|||||||
OnPropertyChanged(nameof(LockIcon));
|
OnPropertyChanged(nameof(LockIcon));
|
||||||
OnPropertyChanged(nameof(HiddenIconSpec));
|
OnPropertyChanged(nameof(HiddenIconSpec));
|
||||||
OnPropertyChanged(nameof(LockIconSpec));
|
OnPropertyChanged(nameof(LockIconSpec));
|
||||||
|
OnPropertyChanged(nameof(HasLayerFlag));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>이름이 없을 때의 기본 표시</summary>
|
/// <summary>이름이 없을 때의 기본 표시</summary>
|
||||||
|
|||||||
@@ -163,10 +163,10 @@
|
|||||||
<ctl:LayerRowTemplateSelector.GroupTemplate>
|
<ctl:LayerRowTemplateSelector.GroupTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<DockPanel Margin="6,4,6,4">
|
<DockPanel Margin="6,4,6,4">
|
||||||
<ToggleButton DockPanel.Dock="Right" Style="{StaticResource MiniToggle}"
|
<ToggleButton DockPanel.Dock="Right" Style="{StaticResource LayerRowToggle}"
|
||||||
IsChecked="{Binding IsLockedFlag}" ToolTip="그룹 전체 잠금"
|
IsChecked="{Binding IsLockedFlag}" ToolTip="그룹 전체 잠금"
|
||||||
Content="{Binding LockIconSpec, Converter={StaticResource IconSpec}}"/>
|
Content="{Binding LockIconSpec, Converter={StaticResource IconSpec}}"/>
|
||||||
<ToggleButton DockPanel.Dock="Right" Style="{StaticResource MiniToggle}"
|
<ToggleButton DockPanel.Dock="Right" Style="{StaticResource LayerRowToggle}"
|
||||||
IsChecked="{Binding IsHiddenFlag}" ToolTip="그룹 전체 숨김"
|
IsChecked="{Binding IsHiddenFlag}" ToolTip="그룹 전체 숨김"
|
||||||
Content="{Binding HiddenIconSpec, Converter={StaticResource IconSpec}}"/>
|
Content="{Binding HiddenIconSpec, Converter={StaticResource IconSpec}}"/>
|
||||||
<TextBlock DockPanel.Dock="Right" Text="{Binding MemberCountText}" FontSize="11"
|
<TextBlock DockPanel.Dock="Right" Text="{Binding MemberCountText}" FontSize="11"
|
||||||
@@ -217,10 +217,10 @@
|
|||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<DockPanel Margin="8,4,6,4">
|
<DockPanel Margin="8,4,6,4">
|
||||||
<!-- 눈·자물쇠는 아이콘이 상태에 따라 바뀐다 — 사각 체크로는 잠김/숨김이 안 읽힌다 -->
|
<!-- 눈·자물쇠는 아이콘이 상태에 따라 바뀐다 — 사각 체크로는 잠김/숨김이 안 읽힌다 -->
|
||||||
<ToggleButton DockPanel.Dock="Right" Style="{StaticResource MiniToggle}"
|
<ToggleButton DockPanel.Dock="Right" Style="{StaticResource LayerRowToggle}"
|
||||||
IsChecked="{Binding IsLockedFlag}" ToolTip="잠금"
|
IsChecked="{Binding IsLockedFlag}" ToolTip="잠금"
|
||||||
Content="{Binding LockIconSpec, Converter={StaticResource IconSpec}}"/>
|
Content="{Binding LockIconSpec, Converter={StaticResource IconSpec}}"/>
|
||||||
<ToggleButton DockPanel.Dock="Right" Style="{StaticResource MiniToggle}"
|
<ToggleButton DockPanel.Dock="Right" Style="{StaticResource LayerRowToggle}"
|
||||||
IsChecked="{Binding IsHiddenFlag}" ToolTip="숨김"
|
IsChecked="{Binding IsHiddenFlag}" ToolTip="숨김"
|
||||||
Content="{Binding HiddenIconSpec, Converter={StaticResource IconSpec}}"/>
|
Content="{Binding HiddenIconSpec, Converter={StaticResource IconSpec}}"/>
|
||||||
<!-- 계층 들여쓰기: 페이지 직속 12, 그룹 멤버 32, 컨테이너 자식 +16 -->
|
<!-- 계층 들여쓰기: 페이지 직속 12, 그룹 멤버 32, 컨테이너 자식 +16 -->
|
||||||
|
|||||||
Reference in New Issue
Block a user