<Window x:Class="vCloud.GeneratePackages.Tool.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:vCloud.GeneratePackages.Tool" xmlns:extensions="clr-namespace:vCloud.GeneratePackages.Tool.Extensions" mc:Ignorable="d" Title="vCloud本地部署包生成工具" Height="720" Width="1024"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="0.7*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <GroupBox Header="FTP" Margin="7"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <TextBlock Text="Ftp地址:" Margin="7" VerticalAlignment="Center"/> <TextBox Margin="7" Grid.Column="1" Text="{Binding FtpUrl}" MinWidth="300" HorizontalAlignment="Stretch"></TextBox> <Button Margin="7" Grid.Column="2" DataContext="{Binding RefreshCommand}" Style="{StaticResource CommonButtonStyle}" HorizontalAlignment="Right">刷新</Button> </Grid> <ListBox Margin="7" Grid.Row="1" ItemsSource="{Binding Files}" SelectedItem="{Binding SelectedFile}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Image Margin="2,0" Width="16" Source="{Binding ZipFileIcon, Source={x:Static local:AppManager.Instance}}"/> <TextBlock Text="{Binding Name}"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Grid> </GroupBox> <!--<Button Grid.Row="1" HorizontalAlignment="Left" Margin="14,7,7,7" Width="200" Style="{StaticResource WarningButtonStyle}" Click="Button_Click">填写客户端更新信息</Button>--> <GroupBox Grid.Row="1" Grid.ColumnSpan="2" Header="请选择要发布的安装包"> <ItemsControl DataContext="{Binding UpdatePackageInfo}" ItemsSource="{Binding PackageInfos}" > <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <WrapPanel/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <Border Margin="7" CornerRadius="4" BorderBrush="#d6e9c6" BorderThickness="1"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Border Name="header" Background="#dff0d8" BorderBrush="#d6e9c6" BorderThickness="0,0,0,1" > <StackPanel Orientation="Horizontal" Margin="7"> <TextBlock Text="{Binding PackageType}" FontWeight="Bold" Foreground="#3c763d" /> <CheckBox IsChecked="{Binding IsPublic}"> <CheckBox.Style> <Style TargetType="CheckBox"> <Setter Property="Content" Value="发布"/> <Setter Property="Margin" Value="7,0"/> <Setter Property="Foreground" Value="#3c763d"/> <Style.Triggers> <Trigger Property="IsChecked" Value="False"> <Setter Property="Content" Value="不发布"/> </Trigger> </Style.Triggers> </Style> </CheckBox.Style> </CheckBox> </StackPanel> </Border> </Grid> </Border> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </GroupBox> <GroupBox Grid.Row="2" Grid.ColumnSpan="2" Header="特殊选项"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="350" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="300" /> </Grid.ColumnDefinitions> <Border Name="header" Background="#dff0d8" BorderBrush="#d6e9c6" BorderThickness="0,0,0,1" CornerRadius="4"> <StackPanel Orientation="Horizontal" Margin="7"> <CheckBox IsChecked="{Binding IsNeedRemoteDeployment,Mode=TwoWay}"> <CheckBox.Style> <Style TargetType="CheckBox"> <Setter Property="Content" Value="支持远程部署"/> <Setter Property="Margin" Value="7,0"/> <Setter Property="Foreground" Value="#3c763d"/> <Setter Property="FontWeight" Value="Bold" /> </Style> </CheckBox.Style> </CheckBox> <CheckBox IsChecked="{Binding PackageClientData,Mode=TwoWay}"> <CheckBox.Style> <Style TargetType="CheckBox"> <Setter Property="Content" Value="打包客户端文件(仅本地部署时勾选)"/> <Setter Property="Margin" Value="7,0"/> <Setter Property="Foreground" Value="#3c763d"/> <Setter Property="FontWeight" Value="Bold" /> </Style> </CheckBox.Style> </CheckBox> </StackPanel> </Border> <TextBlock Text="新盒子版本:" Grid.Column="2" HorizontalAlignment="Center"/> <TextBox Grid.Column="3" Text="{Binding WindowSonoPostVersion}" Margin="0,-2,14,15"/> </Grid> </GroupBox> <GroupBox Header="Log Info" Grid.Column="1" Margin="7"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition/> </Grid.RowDefinitions> <Button HorizontalAlignment="Right" Margin="7" Content="清理日志" Command="{Binding ClearLogCommand}" Style="{StaticResource CommonButtonStyle}"/> <Button HorizontalAlignment="Left" Margin="7" Content="重试上传" Command="{Binding RetryUploadCommand}" Style="{StaticResource CommonButtonStyle}"/> <Button HorizontalAlignment="Left" Margin="100,7,7,7" Content="打开失败目录" Command="{Binding OpenFilesCommand}" Style="{StaticResource CommonButtonStyle}"/> <TextBlock Text="当前上传失败数目:" Margin="200,7,7,7" VerticalAlignment="Center"/> <TextBlock Text="{Binding FailedNum}" Margin="330,7,7,7" VerticalAlignment="Center"/> <ListBox Grid.Row="1" Margin="7" x:Name="logList" ItemsSource="{Binding LogItems}" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> <ListBox.ItemTemplate> <DataTemplate > <TextBlock Text="{Binding Content}" TextWrapping="Wrap" Foreground="{Binding LogLevel, Converter={extensions:LogLevelToColorConvertExtension}}" /> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Grid> </GroupBox> <StackPanel Grid.Row="3" Orientation="Horizontal" Margin="7" Grid.ColumnSpan="2"> <Button Margin="7" DataContext="{Binding GenerateCommand}" Style="{StaticResource CommonButtonStyle}">生成</Button> <TextBlock Margin="7,7,7,0" Text="生成路径:" VerticalAlignment="Center"/> <TextBlock Margin="7" VerticalAlignment="Center"><Hyperlink Command="{Binding OpenOutputDirCommand}"><TextBlock Text="{Binding OutputDir}"/></Hyperlink></TextBlock> </StackPanel> </Grid> </Window>