JJServiceManagerEnt/Views/ServicePicker.xaml

96 lines
5.3 KiB
XML

<DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Margin="8">
<!-- 상단: 전체선택 / 전체취소 / 선택완료 -->
<DockPanel DockPanel.Dock="Top" Margin="0,0,0,6">
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal">
<Button x:Name="btnDone" Content="선택완료" FontWeight="Bold" Background="#E3F2FD" BorderBrush="#64B5F6"/>
<Button x:Name="btnCancel" Content="닫기"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button x:Name="btnAll" Content="전체선택" ToolTip="지금 보이는 목록을 모두 체크합니다."/>
<Button x:Name="btnNone" Content="전체취소" ToolTip="지금 보이는 목록의 체크를 모두 해제합니다."/>
<TextBlock Text="검색" VerticalAlignment="Center" Margin="14,0,6,0"/>
<TextBox x:Name="txtSearch" Width="220" VerticalContentAlignment="Center" Height="28"
ToolTip="이름, 설명, 서비스명으로 찾기"/>
<CheckBox x:Name="chkOnlySelected" Content="선택된 것만 보기" VerticalAlignment="Center" Margin="12,0,0,0"/>
</StackPanel>
</DockPanel>
<!-- 하단 안내 -->
<DockPanel DockPanel.Dock="Bottom" Margin="0,6,0,0">
<Border DockPanel.Dock="Left" Width="14" Height="14" Background="#FFF8E1" BorderBrush="#FFB300" BorderThickness="1" Margin="0,0,6,0"/>
<TextBlock x:Name="txtStatus" Foreground="#607D8B" VerticalAlignment="Center"
Text="노란색 줄 = 이미 초기화면에 등록된 서비스 · 열 제목을 누르면 정렬(▲▼)됩니다"/>
</DockPanel>
<Grid>
<DataGrid x:Name="grid"
AutoGenerateColumns="False"
IsReadOnly="True"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserResizeRows="False"
CanUserSortColumns="True"
SelectionMode="Extended"
SelectionUnit="FullRow"
HeadersVisibility="Column"
GridLinesVisibility="Horizontal"
HorizontalGridLinesBrush="#ECEFF1"
RowHeight="28"
EnableRowVirtualization="True"
BorderBrush="#B0BEC5"
Background="White">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="ToolTip" Value="{Binding Tooltip}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsRegistered}" Value="True">
<Setter Property="Background" Value="#FFF8E1"/>
<Setter Property="FontWeight" Value="SemiBold"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="4,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridCell">
<Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}">
<ContentPresenter VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#BBDEFB"/>
<Setter Property="Foreground" Value="#0D47A1"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Header="선택" Width="50" SortMemberPath="IsSelected">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="설명" Binding="{Binding Description}" Width="3*"/>
<DataGridTextColumn Header="상태" Binding="{Binding StatusText}" Width="90"/>
<DataGridTextColumn Header="이름" Binding="{Binding DisplayName}" Width="2*"/>
<DataGridTextColumn Header="시작유형" Binding="{Binding StartTypeText}" Width="120"/>
</DataGrid.Columns>
</DataGrid>
<TextBlock x:Name="txtLoading" Text="서비스 목록을 불러오는 중…" FontSize="14" Foreground="#607D8B"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</DockPanel>