module ParasitemiaUI.About open System open System.Windows open System.Windows.Media open System.Windows.Markup open System.Windows.Shapes open System.Windows.Controls open System.Diagnostics let showWindow (parent: Window) = let win = Views.AboutWindow() win.Root.Owner <- parent win.Root.Left <- parent.Left + parent.ActualWidth / 2. - win.Root.Width / 2. win.Root.Top <- parent.Top + parent.ActualHeight / 2. - win.Root.Height / 2. let version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version let txtVersion = sprintf " %d.%d.%d" version.Major version.Minor version.Revision win.txtAbout.Inlines.FirstInline.ElementEnd.InsertTextInRun(txtVersion) let navigateTo = Navigation.RequestNavigateEventHandler(fun obj args -> Process.Start(ProcessStartInfo(args.Uri.AbsoluteUri)) |> ignore args.Handled <- true) win.linkHESSO.RequestNavigate.AddHandler(navigateTo); win.linkCHUV.RequestNavigate.AddHandler(navigateTo); win.linkGBurri.RequestNavigate.AddHandler(navigateTo); #if DEBUG win.txtAbout.Inlines.FirstInline.ElementEnd.InsertTextInRun(" - DEBUG") #endif win.butClose.Click.AddHandler(fun obj args -> win.Root.Close()) win.Root.ShowDialog() |> ignore