using System.Windows.Media.Imaging; using Caliburn.Micro; using WixSharp; using WixSharp.UI.Forms; using WixSharp.UI.WPF; namespace Sai.RvKits_Setup { /// /// The standard WelcomeDialog. /// Follows the design of the canonical Caliburn.Micro View (MVVM). /// See https://caliburnmicro.com/documentation/cheat-sheet /// /// /// /// public partial class WelcomeDialog : WpfDialog, IWpfDialog { /// /// Initializes a new instance of the class. /// public WelcomeDialog() { InitializeComponent(); } /// /// This method is invoked by WixSHarp runtime when the custom dialog content is internally fully initialized. /// This is a convenient place to do further initialization activities (e.g. localization). /// public void Init() { ViewModelBinder.Bind(new WelcomeDialogModel { Host = ManagedFormHost }, this, null); } } /// /// ViewModel for standard WelcomeDialog. /// Follows the design of the canonical Caliburn.Micro ViewModel (MVVM). /// See https://caliburnmicro.com/documentation/cheat-sheet /// /// internal class WelcomeDialogModel : Caliburn.Micro.Screen { public ManagedForm Host; ISession session => Host?.Runtime.Session; IManagedUIShell shell => Host?.Shell; public BitmapImage Banner => session?.GetResourceBitmap("WixSharpUI_Bmp_Dialog").ToImageSource(); public bool CanGoPrev => false; public void GoPrev() => shell?.GoPrev(); public void GoNext() => shell?.GoNext(); public void Cancel() => shell?.Cancel(); } }