97 lines
5.1 KiB
XML
97 lines
5.1 KiB
XML
<UserControl x:Class="YY.Admin.Views.Print.PrintSettingsView"
|
||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
xmlns:hc="https://handyorg.github.io/handycontrol">
|
||
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
||
<StackPanel Margin="24" MaxWidth="680">
|
||
|
||
<!-- 标题 -->
|
||
<TextBlock Text="打印设置" FontSize="18" FontWeight="Bold" Margin="0,0,0,20"/>
|
||
|
||
<!-- PrintDot 连接配置 -->
|
||
<Border BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}" CornerRadius="4" Padding="16" Margin="0,0,0,16">
|
||
<StackPanel>
|
||
<TextBlock Text="PrintDot 桥接器连接" FontSize="14" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||
|
||
<Grid Margin="0,0,0,8">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="120"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<TextBlock Text="WebSocket 地址" VerticalAlignment="Center" FontSize="13"/>
|
||
<TextBox Grid.Column="1" Text="{Binding WsUrl, UpdateSourceTrigger=PropertyChanged}"
|
||
hc:InfoElement.Placeholder="ws://192.168.x.x:1122/ws"
|
||
FontSize="13" Padding="6,4"/>
|
||
</Grid>
|
||
|
||
<TextBlock Text="格式:ws://<IP>:1122/ws,支持局域网任意 IP" FontSize="11"
|
||
Foreground="{DynamicResource SecondaryTextBrush}" Margin="120,0,0,12"/>
|
||
|
||
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
|
||
<Button Content="测试连接并获取打印机" Command="{Binding TestConnectionCommand}"
|
||
Style="{StaticResource ButtonPrimary}" Padding="12,6" FontSize="13" Margin="0,0,8,0"/>
|
||
<Button Content="保存设置" Command="{Binding SaveCommand}"
|
||
Style="{StaticResource ButtonDefault}" Padding="12,6" FontSize="13"/>
|
||
</StackPanel>
|
||
|
||
<!-- 状态提示 -->
|
||
<TextBlock Text="{Binding StatusMessage}" FontSize="12" Foreground="{DynamicResource InfoBrush}"
|
||
Visibility="{Binding StatusMessage, Converter={StaticResource String2VisibilityConverter}}"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- 打印机列表 -->
|
||
<Border BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}" CornerRadius="4" Padding="16" Margin="0,0,0,16">
|
||
<StackPanel>
|
||
<TextBlock Text="可用打印机" FontSize="14" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||
|
||
<ListBox ItemsSource="{Binding Printers}" SelectedItem="{Binding SelectedPrinter}"
|
||
MaxHeight="180" ScrollViewer.VerticalScrollBarVisibility="Auto">
|
||
<ListBox.ItemTemplate>
|
||
<DataTemplate>
|
||
<StackPanel Orientation="Horizontal" Margin="4,2">
|
||
<TextBlock Text="{Binding Name}" FontSize="13"/>
|
||
<TextBlock Text=" (默认)" FontSize="11" Foreground="{DynamicResource InfoBrush}"
|
||
Visibility="{Binding IsDefault, Converter={StaticResource Boolean2VisibilityConverter}}"/>
|
||
</StackPanel>
|
||
</DataTemplate>
|
||
</ListBox.ItemTemplate>
|
||
</ListBox>
|
||
|
||
<TextBlock Margin="0,8,0,0" FontSize="12" Foreground="{DynamicResource SecondaryTextBrush}">
|
||
已选打印机:<Run Text="{Binding SelectedPrinter.Name, FallbackValue='(未选择)'}"/>
|
||
</TextBlock>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- 打印模板列表 -->
|
||
<Border BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}" CornerRadius="4" Padding="16">
|
||
<StackPanel>
|
||
<DockPanel Margin="0,0,0,12">
|
||
<Button DockPanel.Dock="Right" Content="刷新模板" Command="{Binding RefreshTemplatesCommand}"
|
||
Style="{StaticResource ButtonDefault}" Padding="10,4" FontSize="12"/>
|
||
<TextBlock Text="打印模板" FontSize="14" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
</DockPanel>
|
||
|
||
<DataGrid ItemsSource="{Binding Templates}" AutoGenerateColumns="False"
|
||
IsReadOnly="True" MaxHeight="240" GridLinesVisibility="Horizontal"
|
||
HeadersVisibility="Column" FontSize="12">
|
||
<DataGrid.Columns>
|
||
<DataGridTextColumn Header="模板编码" Binding="{Binding TemplateCode}" Width="160"/>
|
||
<DataGridTextColumn Header="模板名称" Binding="{Binding TemplateName}" Width="*"/>
|
||
<DataGridTextColumn Header="分类" Binding="{Binding Category}" Width="80"/>
|
||
<DataGridTextColumn Header="纸宽(mm)" Binding="{Binding PaperWidthMm}" Width="70"/>
|
||
<DataGridTextColumn Header="纸高(mm)" Binding="{Binding PaperHeightMm}" Width="70"/>
|
||
</DataGrid.Columns>
|
||
</DataGrid>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- 忙碌指示 -->
|
||
<hc:LoadingCircle Visibility="{Binding IsBusy, Converter={StaticResource Boolean2VisibilityConverter}}"
|
||
HorizontalAlignment="Center" Margin="0,16,0,0"/>
|
||
|
||
</StackPanel>
|
||
</ScrollViewer>
|
||
</UserControl>
|