Files
minecraft-modpack-updater/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorView.axaml
2025-11-17 07:21:00 +01:00

102 lines
3.2 KiB
XML

<dialogs:AvaloniaFlyoutBase
xmlns="https://github.com/avaloniaui"
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:dialogs="https://git.pilzinsel64.de/pilz-framework/pilz"
xmlns:updatesCollectorViewMode="clr-namespace:ModpackUpdater.Apps.Manager.Ui.Models.UpdatesCollectorViewMode"
mc:Ignorable="d"
d:DesignWidth="600"
d:DesignHeight="450"
Width="800"
Height="600"
x:Class="ModpackUpdater.Apps.Manager.Ui.UpdatesCollectorView"
x:DataType="updatesCollectorViewMode:UpdatesCollectorViewModel"
Loaded="Me_OnLoaded">
<!-- Main -->
<dialogs:AvaloniaFlyoutBase.MainContent>
<Grid
RowDefinitions="Auto,*"
RowSpacing="6"
VerticalAlignment="Stretch">
<!-- TextBox: Search -->
<TextBox
Grid.Row="0"
Watermark="Search"
TextChanged="TextBoxSearch_OnTextChanged"/>
<!-- ScrollViewer: Updates -->
<ScrollViewer
Grid.Row="1">
<ItemsControl
ItemsSource="{Binding Updates}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid
ColumnDefinitions="20*,20*,20*,Auto"
ColumnSpacing="6"
RowSpacing="6"
Margin="3"
IsVisible="{Binding Visible}">
<!-- Label: Name -->
<TextBlock
Grid.Column="0"
VerticalAlignment="Center"
Text="{Binding Origin.Name}"/>
<!-- Label: Version (old) -->
<TextBlock
Grid.Column="1"
VerticalAlignment="Center"
Text="{Binding Origin.SourceTag}"/>
<!-- ComboBox: Version (new) -->
<ComboBox
HorizontalAlignment="Stretch"
Grid.Column="2"
ItemsSource="{Binding DisplayVersions}"
SelectedIndex="{Binding NewVersion}"/>
<!-- Button: RemoveUpdate -->
<dialogs:ImageButton
Grid.Column="3"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Content="Remove"
Click="ButtonRemoveUpdate_Click"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</Grid>
</dialogs:AvaloniaFlyoutBase.MainContent>
<!-- Footer -->
<dialogs:AvaloniaFlyoutBase.FooterContent>
<Panel
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
IsVisible="{Binding ProgressVisible}">
<!-- ProgressBar: Status -->
<ProgressBar
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Maximum="{Binding ProgressMaxValue}"
Value="{Binding ProgressValue}"/>
<!-- TextBox: Status -->
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="{Binding ProgressText}"/>
</Panel>
</dialogs:AvaloniaFlyoutBase.FooterContent>
</dialogs:AvaloniaFlyoutBase>