diff --git a/Wabbajack/Views/MainWindow.xaml b/Wabbajack/Views/MainWindow.xaml index 711764b1..24745132 100644 --- a/Wabbajack/Views/MainWindow.xaml +++ b/Wabbajack/Views/MainWindow.xaml @@ -32,7 +32,7 @@ - + diff --git a/Wabbajack/Views/ModListGalleryView.xaml b/Wabbajack/Views/ModListGalleryView.xaml index 64d38cc5..10f13906 100644 --- a/Wabbajack/Views/ModListGalleryView.xaml +++ b/Wabbajack/Views/ModListGalleryView.xaml @@ -1,14 +1,17 @@ - @@ -32,9 +35,9 @@ BorderThickness="1,0,1,1"> + HorizontalAlignment="Center"> @@ -48,6 +51,7 @@ + - + diff --git a/Wabbajack/Views/ModListGalleryView.xaml.cs b/Wabbajack/Views/ModListGalleryView.xaml.cs index fa844542..83dd9f72 100644 --- a/Wabbajack/Views/ModListGalleryView.xaml.cs +++ b/Wabbajack/Views/ModListGalleryView.xaml.cs @@ -1,16 +1,33 @@ using System.Diagnostics; +using System.Reactive.Disposables; +using System.Reactive.Linq; using System.Windows; using System.Windows.Controls; using MahApps.Metro.Controls; +using ReactiveUI; using Wabbajack.Lib.ModListRegistry; namespace Wabbajack { - public partial class ModListGalleryView : UserControl + public partial class ModListGalleryView : ReactiveUserControl { public ModListGalleryView() { InitializeComponent(); + + this.WhenActivated(dispose => + { + this.WhenAny(x => x.ViewModel.BackCommand) + .BindToStrict(this, x => x.BackButton.Command) + .DisposeWith(dispose); + this.WhenAny(x => x.ViewModel.ModLists) + .BindToStrict(this, x => x.ModListGalleryControl.ItemsSource) + .DisposeWith(dispose); + this.WhenAny(x => x.ViewModel.ModLists.Count) + .Select(x => x > 0 ? Visibility.Collapsed : Visibility.Visible) + .BindToStrict(this, x => x.LoadingRing.Visibility) + .DisposeWith(dispose); + }); } } }