JJServiceManager/Views/LogPanel.xaml

55 lines
3.2 KiB
XML

<DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- 로그 도구 모음 -->
<WrapPanel DockPanel.Dock="Top" Margin="0,0,0,4">
<Button x:Name="btnSelectAll" Content="전체선택"/>
<Button x:Name="btnSelectNone" Content="전체취소"/>
<Button x:Name="btnClearScreen" Content="화면클리어" ToolTip="새 로그를 화면 맨 위부터 다시 출력합니다. 위로 스크롤하면 이전 로그가 보입니다. 번호는 이어집니다."/>
<Button x:Name="btnCopy" Content="복사" ToolTip="체크한 줄을 클립보드에 복사합니다."/>
<Button x:Name="btnClearLog" Content="로그 클리어" ToolTip="화면의 로그를 모두 지우고 번호를 1번부터 다시 시작합니다. (로그 파일은 지우지 않습니다)"/>
<TextBlock x:Name="txtInfo" VerticalAlignment="Center" Margin="10,0,0,0" Foreground="#757575"/>
</WrapPanel>
<!-- 로그 목록 (번호 + 체크박스) -->
<ListBox x:Name="lstLog"
BorderBrush="#BDBDBD"
FontFamily="Consolas, D2Coding, Malgun Gothic"
FontSize="12.5"
SelectionMode="Extended"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.VirtualizationMode="Recycling"
VirtualizingPanel.ScrollUnit="Pixel"
ScrollViewer.CanContentScroll="True"
ScrollViewer.HorizontalScrollBarVisibility="Auto">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsFiller}" Value="True">
<Setter Property="IsHitTestVisible" Value="False"/>
<Setter Property="Focusable" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<!-- 화면클리어용 빈 공간 -->
<Border Height="{Binding FillerHeight}" Visibility="{Binding FillerVisibility}" Background="Transparent"/>
<!-- 로그 한 줄 -->
<DockPanel Height="22" Visibility="{Binding LineVisibility}" Background="Transparent">
<CheckBox DockPanel.Dock="Left" IsChecked="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" Margin="4,0,6,0"/>
<TextBlock DockPanel.Dock="Left" Text="{Binding NoText}" Width="58" TextAlignment="Right" Margin="0,0,10,0" VerticalAlignment="Center" Foreground="#1565C0"/>
<TextBlock Text="{Binding Display}" VerticalAlignment="Center" Foreground="{Binding Foreground}"/>
</DockPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DockPanel>