From 5cd0a43cbcae67130193ae5e70e1e5fdf055c6ee Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Thu, 25 Jul 2019 21:59:27 +0100 Subject: [PATCH] fix managed file dialog demo --- samples/ControlCatalog.NetCore/Program.cs | 18 +++++++++--------- samples/ControlCatalog/MainWindow.xaml.cs | 17 +++++++++++++++++ src/Avalonia.Dialogs/Avalonia.Dialogs.csproj | 7 ++----- .../Internal/ManagedFileChooser.xaml | 3 ++- .../Internal/ManagedFileDialog.xaml | 2 +- 5 files changed, 31 insertions(+), 16 deletions(-) diff --git a/samples/ControlCatalog.NetCore/Program.cs b/samples/ControlCatalog.NetCore/Program.cs index 0475e2b660..15ecfa5811 100644 --- a/samples/ControlCatalog.NetCore/Program.cs +++ b/samples/ControlCatalog.NetCore/Program.cs @@ -1,14 +1,15 @@ using System; -using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading; -using System.Threading.Tasks; using Avalonia; using Avalonia.Controls; using Avalonia.LinuxFramebuffer.Output; using Avalonia.Skia; using Avalonia.ReactiveUI; +using Avalonia.Dialogs; +using System.Collections.Generic; +using System.Threading.Tasks; namespace ControlCatalog.NetCore { @@ -18,13 +19,10 @@ namespace ControlCatalog.NetCore static int Main(string[] args) { Thread.CurrentThread.TrySetApartmentState(ApartmentState.STA); - var b = BuildAvaloniaApp(); - b.SetupWithoutStarting(); - var window = new Window(); - window.Show(); - new OpenFileDialog() + if (args.Contains("--wait-for-attach")) { - Filters = new List + Console.WriteLine("Attach debugger and use 'Set next statement'"); + while (true) { Thread.Sleep(100); if (Debugger.IsAttached) @@ -33,6 +31,7 @@ namespace ControlCatalog.NetCore } var builder = BuildAvaloniaApp(); + if (args.Contains("--fbdev")) { SilenceConsole(); @@ -60,7 +59,8 @@ namespace ControlCatalog.NetCore AllowEglInitialization = true }) .UseSkia() - .UseReactiveUI(); + .UseReactiveUI() + .UseManagedSystemDialogs(); static void SilenceConsole() { diff --git a/samples/ControlCatalog/MainWindow.xaml.cs b/samples/ControlCatalog/MainWindow.xaml.cs index 91d9f034a5..ade5e4c2fc 100644 --- a/samples/ControlCatalog/MainWindow.xaml.cs +++ b/samples/ControlCatalog/MainWindow.xaml.cs @@ -6,6 +6,7 @@ using Avalonia.Markup.Xaml; using Avalonia.Threading; using ControlCatalog.ViewModels; using System; +using System.Collections.Generic; using System.Threading.Tasks; namespace ControlCatalog @@ -28,6 +29,22 @@ namespace ControlCatalog }; DataContext = new MainWindowViewModel(_notificationArea); + + Dispatcher.UIThread.Post(() => + { + new OpenFileDialog() + { + Filters = new List + { + new FileDialogFilter {Name = "All files", Extensions = {"*"}}, + new FileDialogFilter {Name = "Image files", Extensions = {"jpg", "png", "gif"}} + }, + Directory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop), + Title = "My dialog", + InitialFileName = "config.local.json", + AllowMultiple = true + }.ShowAsync(this); + }); } private void InitializeComponent() diff --git a/src/Avalonia.Dialogs/Avalonia.Dialogs.csproj b/src/Avalonia.Dialogs/Avalonia.Dialogs.csproj index b94b1db8bc..5b3e27eebd 100644 --- a/src/Avalonia.Dialogs/Avalonia.Dialogs.csproj +++ b/src/Avalonia.Dialogs/Avalonia.Dialogs.csproj @@ -5,12 +5,9 @@ - + Designer - - - Designer - + diff --git a/src/Avalonia.Dialogs/Internal/ManagedFileChooser.xaml b/src/Avalonia.Dialogs/Internal/ManagedFileChooser.xaml index cb7f2bef34..d048d45dbd 100644 --- a/src/Avalonia.Dialogs/Internal/ManagedFileChooser.xaml +++ b/src/Avalonia.Dialogs/Internal/ManagedFileChooser.xaml @@ -3,7 +3,8 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:dialogs="clr-namespace:Avalonia.Dialogs.Internal" - xmlns:internal="clr-namespace:Avalonia.Dialogs.Internal"> + xmlns:internal="clr-namespace:Avalonia.Dialogs.Internal" + x:Class="Avalonia.Dialogs.Internal.ManagedFileChooser"> diff --git a/src/Avalonia.Dialogs/Internal/ManagedFileDialog.xaml b/src/Avalonia.Dialogs/Internal/ManagedFileDialog.xaml index 002f35ae24..15fd8fcddb 100644 --- a/src/Avalonia.Dialogs/Internal/ManagedFileDialog.xaml +++ b/src/Avalonia.Dialogs/Internal/ManagedFileDialog.xaml @@ -2,7 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dialogs="clr-namespace:Avalonia.Dialogs.Internal" xmlns:internal="clr-namespace:Avalonia.Dialogs.Internal" - Icon="resm:WalletWasabi.Gui.Assets.WasabiLogo256.png?assembly=WalletWasabi.Gui" + x:Class="Avalonia.Dialogs.Internal.ManagedFileDialog" Title="{Binding Title}" Width="1100" Height="500" MinWidth="1100" MinHeight="500" FontFamily="{DynamicResource UiFont}" FontSize="14" Foreground="{DynamicResource ThemeForegroundBrush}">