| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Reflection;
 
- using Avalonia.Controls;
 
- using Avalonia.Dialogs;
 
- using Avalonia.Markup.Xaml;
 
- #pragma warning disable 4014
 
- namespace ControlCatalog.Pages
 
- {
 
-     public class DialogsPage : UserControl
 
-     {
 
-         public DialogsPage()
 
-         {
 
-             this.InitializeComponent();
 
-             List<FileDialogFilter> GetFilters()
 
-             {
 
-                 if (this.FindControl<CheckBox>("UseFilters").IsChecked != true)
 
-                     return null;
 
-                 return  new List<FileDialogFilter>
 
-                 {
 
-                     new FileDialogFilter
 
-                     {
 
-                         Name = "Text files (.txt)", Extensions = new List<string> {"txt"}
 
-                     },
 
-                     new FileDialogFilter
 
-                     {
 
-                         Name = "All files",
 
-                         Extensions = new List<string> {"*"}
 
-                     }
 
-                 };
 
-             }
 
-             this.FindControl<Button>("OpenFile").Click += delegate
 
-             {
 
-                 new OpenFileDialog()
 
-                 {
 
-                     Title = "Open file",
 
-                     Filters = GetFilters(),
 
-                     // Almost guaranteed to exist
 
-                     InitialFileName = Assembly.GetEntryAssembly()?.GetModules().FirstOrDefault()?.FullyQualifiedName
 
-                 }.ShowAsync(GetWindow());
 
-             };
 
-             this.FindControl<Button>("SaveFile").Click += delegate
 
-             {
 
-                 new SaveFileDialog()
 
-                 {
 
-                     Title = "Save file",
 
-                     Filters = GetFilters(),
 
-                     InitialFileName = "test.txt"
 
-                 }.ShowAsync(GetWindow());
 
-             };
 
-             this.FindControl<Button>("SelectFolder").Click += delegate
 
-             {
 
-                 new OpenFolderDialog()
 
-                 {
 
-                     Title = "Select folder",
 
-                 }.ShowAsync(GetWindow());
 
-             };
 
-             this.FindControl<Button>("OpenBoth").Click += async delegate
 
-             {
 
-                 var res = await new OpenFileDialog()
 
-                 {
 
-                     Title = "Select both",
 
-                     AllowMultiple = true
 
-                 }.ShowManagedAsync(GetWindow(), new ManagedFileDialogOptions
 
-                 {
 
-                     AllowDirectorySelection = true
 
-                 });
 
-                 if (res != null)
 
-                     Console.WriteLine("Selected: \n" + string.Join("\n", res));
 
-             };
 
-             this.FindControl<Button>("DecoratedWindow").Click += delegate
 
-             {
 
-                 new DecoratedWindow().Show();
 
-             };
 
-             this.FindControl<Button>("DecoratedWindowDialog").Click += delegate
 
-             {
 
-                 new DecoratedWindow().ShowDialog(GetWindow());
 
-             };
 
-             this.FindControl<Button>("Dialog").Click += delegate
 
-             {
 
-                 var window = CreateSampleWindow();
 
-                 window.Height = 200;
 
-                 window.ShowDialog(GetWindow());
 
-             };
 
-             this.FindControl<Button>("DialogNoTaskbar").Click += delegate
 
-             {
 
-                 var window = CreateSampleWindow();
 
-                 window.Height = 200;
 
-                 window.ShowInTaskbar = false;
 
-                 window.ShowDialog(GetWindow());
 
-             };
 
-             this.FindControl<Button>("OwnedWindow").Click += delegate
 
-             {
 
-                 var window = CreateSampleWindow();
 
-                 window.Show(GetWindow());
 
-             };
 
-             this.FindControl<Button>("OwnedWindowNoTaskbar").Click += delegate
 
-             {
 
-                 var window = CreateSampleWindow();
 
-                 window.ShowInTaskbar = false;
 
-                 window.Show(GetWindow());
 
-             };
 
-         }
 
-         private Window CreateSampleWindow()
 
-         {
 
-             var window = new Window();
 
-             window.Height = 200;
 
-             window.Width = 200;
 
-             window.Content = new TextBlock { Text = "Hello world!" };
 
-             window.WindowStartupLocation = WindowStartupLocation.CenterOwner;
 
-             return window;
 
-         }
 
-         Window GetWindow() => (Window)this.VisualRoot;
 
-         private void InitializeComponent()
 
-         {
 
-             AvaloniaXamlLoader.Load(this);
 
-         }
 
-     }
 
- }
 
 
  |