XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEToolBox

【WPF】XFE工具箱

公开
关注 0 Fork 0 Star 0
UTF-8
<Page x:Class="XFEToolBox.Client.Views.Pages.ConsolePage"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:local="clr-namespace:XFEToolBox.Client.Views.Pages"
      xmlns:viewmodel="clr-namespace:XFEToolBox.Client.ViewModel.Pages"
      xmlns:controls="clr-namespace:XFEToolBox.WpfCore.Controls;assembly=XFEToolBox.WpfCore"
      mc:Ignorable="d" 
      d:DesignHeight="450" d:DesignWidth="800"
      Title="ConsolePage" d:DataContext="{d:DesignInstance Type=viewmodel:ConsolePageViewModel}">
    <controls:RoundedClipBorder CornerRadius="0,0,15,0" Background="#1e1e1e">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="30"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <Grid>
                <StackPanel Orientation="Horizontal">
                    <Button Style="{StaticResource ConsoleButton}" Margin="3" IsEnabled="{Binding CanStartServer}" Command="{Binding StartServerCommand}">
                        <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Image Source="/Resources/Image/start.png" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="1"/>
                            <TextBlock Margin="3,0,0,0" Grid.Column="1" Foreground="White" Text="启动" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </Grid>
                    </Button>
                    <Button Style="{StaticResource ConsoleButton}" Margin="3" IsEnabled="{Binding CanStopServer}" Command="{Binding StopServerCommand}">
                        <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Image Source="/Resources/Image/stop.png" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="1.5"/>
                            <TextBlock Margin="3,0,0,0" Grid.Column="1" Foreground="White" Text="停止" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </Grid>
                    </Button>
                    <Button Style="{StaticResource ConsoleButton}" Margin="3" IsEnabled="{Binding CanRestartServer}" Command="{Binding RestartServerCommand}">
                        <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Image Source="/Resources/Image/restart.png" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="1"/>
                            <TextBlock Margin="3,0,0,0" Grid.Column="1" Foreground="White" Text="重启" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </Grid>
                    </Button>
                    <Button Style="{StaticResource ConsoleButton}" Margin="3" IsEnabled="{Binding CanCleanUp}" Command="{Binding CleanUpCommand}">
                        <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Image Source="/Resources/Image/clean.png" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                            <TextBlock Margin="3,0,0,0" Grid.Column="1" Foreground="White" Text="清空" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </Grid>
                    </Button>
                </StackPanel>
            </Grid>
            <Border Grid.Column="0" Grid.Row="1" CornerRadius="0,0,15,0" Background="Black" Padding="0,5,3,5">
                <ListBox x:Name="consoleListBox"
                         Background="Transparent"
                         BorderThickness="0"
                         IsTabStop="False"
                         ScrollViewer.CanContentScroll="True"
                         ScrollViewer.HorizontalScrollBarVisibility="Disabled"
                         ScrollViewer.VerticalScrollBarVisibility="Auto"
                         VirtualizingPanel.IsVirtualizing="True"
                         VirtualizingPanel.VirtualizationMode="Recycling"
                         VirtualizingPanel.ScrollUnit="Pixel">
                    <ListBox.Template>
                        <ControlTemplate TargetType="ListBox">
                            <controls:SmoothScrollViewer x:Name="PART_ScrollViewer"
                                                         AnimateMilliseconds="200"
                                                         CanContentScroll="{TemplateBinding ScrollViewer.CanContentScroll}"
                                                         HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
                                                         VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"
                                                         Focusable="False"
                                                         ScrollChanged="ScrollViewer_ScrollChanged">
                                <ItemsPresenter/>
                            </controls:SmoothScrollViewer>
                        </ControlTemplate>
                    </ListBox.Template>
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <VirtualizingStackPanel/>
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.ItemContainerStyle>
                        <Style TargetType="ListBoxItem">
                            <Setter Property="Focusable" Value="False"/>
                            <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                            <Setter Property="Padding" Value="0"/>
                            <Setter Property="Margin" Value="0"/>
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="ListBoxItem">
                                        <ContentPresenter/>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </ListBox.ItemContainerStyle>
                </ListBox>
            </Border>
        </Grid>
    </controls:RoundedClipBorder>
</Page>