Files
better-genshin-impact/BetterGenshinImpact/View/Windows/ScriptRepoWindow.xaml

142 lines
7.0 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<ui:FluentWindow x:Class="BetterGenshinImpact.View.Windows.ScriptRepoWindow"
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:local="clr-namespace:BetterGenshinImpact.View.Windows"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
xmlns:vio="http://schemas.lepo.co/wpfui/2022/xaml/violeta"
Title="脚本仓库"
Width="400"
MinWidth="360"
MinHeight="50"
ResizeMode="NoResize"
Background="#202020"
ExtendsContentIntoTitleBar="True"
FontFamily="{DynamicResource TextThemeFontFamily}"
SizeToContent="Height"
WindowBackdropType="None"
WindowStartupLocation="CenterOwner"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="48" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- 标题栏 -->
<ui:TitleBar Grid.Row="0"
Title="{Binding Title}"
ShowMaximize="False"
ShowMinimize="False">
<ui:TitleBar.Icon>
<ui:ImageIcon Source="pack://application:,,,/Resources/Images/logo.png" />
</ui:TitleBar.Icon>
</ui:TitleBar>
<!-- 主内容区域 -->
<Grid Grid.Row="1" Margin="12,0,12,12">
<Border Background="{ui:ThemeResource CardBackgroundFillColorDefaultBrush}"
BorderBrush="{ui:ThemeResource CardStrokeColorDefaultBrush}"
BorderThickness="1,1,1,1"
CornerRadius="8">
<Grid Margin="12">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- 第一行:更新渠道 -->
<Grid Grid.Row="0" Margin="0,0,0,12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ui:TextBlock Grid.Column="0"
Margin="0,0,8,0"
VerticalAlignment="Center"
Foreground="{ui:ThemeResource TextFillColorPrimaryBrush}"
Text="更新渠道:" />
<ComboBox Grid.Column="1"
MinWidth="160"
VerticalAlignment="Center"
DisplayMemberPath="Name"
ItemsSource="{Binding RepoChannels}"
SelectedItem="{Binding SelectedRepoChannel}" />
</Grid>
<!-- 第二行脚本仓库URL -->
<Grid Grid.Row="1" Margin="0,0,0,12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ui:TextBlock Grid.Column="0"
Margin="0,0,8,0"
VerticalAlignment="Center"
Foreground="{ui:ThemeResource TextFillColorPrimaryBrush}"
Text="仓库地址:" />
<TextBox Grid.Column="1"
MinWidth="160"
VerticalAlignment="Center"
IsEnabled="{Binding IsRepoUrlReadOnly, Converter={StaticResource InverseBooleanConverter}}"
IsReadOnly="{Binding IsRepoUrlReadOnly}"
Text="{Binding Config.SelectedRepoUrl}" />
</Grid>
<!-- 第三行:按钮组 -->
<Grid Grid.Row="2" Margin="0,0,0,8">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ui:Button Grid.Column="0"
Margin="0,0,4,0"
Command="{Binding UpdateRepoCommand}"
Content="更新仓库"
Icon="{ui:SymbolIcon CloudSync24}"
HorizontalAlignment="Stretch" />
<ui:Button Grid.Column="1"
Margin="4,0,4,0"
Command="{Binding ResetRepoCommand}"
Content="重置仓库"
Icon="{ui:SymbolIcon ArrowReset24}"
HorizontalAlignment="Stretch"/>
<ui:Button Grid.Column="2"
Margin="4,0,0,0"
Appearance="Primary"
Command="{Binding OpenLocalScriptRepoCommand}"
Content="打开仓库"
Icon="{ui:SymbolIcon BookStar24}"
HorizontalAlignment="Stretch"/>
</Grid>
<!-- 进度条区域 -->
<Grid Grid.Row="3"
Margin="0,8,0,4"
Visibility="{Binding IsUpdating, Converter={StaticResource BooleanToVisibilityConverter}}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ui:TextBlock Grid.Row="0"
Margin="0,0,0,4"
VerticalAlignment="Center"
Foreground="{ui:ThemeResource TextFillColorSecondaryBrush}"
Text="{Binding UpdateProgressText}" />
<ProgressBar Grid.Row="1"
Maximum="100"
Value="{Binding UpdateProgressValue}" />
</Grid>
</Grid>
</Border>
</Grid>
</Grid>
</ui:FluentWindow>