Browse Source

fix managed file dialog demo

pull/2777/head
Dan Walmsley 7 years ago
parent
commit
5cd0a43cbc
  1. 18
      samples/ControlCatalog.NetCore/Program.cs
  2. 17
      samples/ControlCatalog/MainWindow.xaml.cs
  3. 7
      src/Avalonia.Dialogs/Avalonia.Dialogs.csproj
  4. 3
      src/Avalonia.Dialogs/Internal/ManagedFileChooser.xaml
  5. 2
      src/Avalonia.Dialogs/Internal/ManagedFileDialog.xaml

18
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<FileDialogFilter>
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()
{

17
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<FileDialogFilter>
{
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()

7
src/Avalonia.Dialogs/Avalonia.Dialogs.csproj

@ -5,12 +5,9 @@
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Internal\ManagedFileChooser.xaml">
<AvaloniaResource Include="**\*.xaml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Internal\ManagedFileDialog.xaml">
<SubType>Designer</SubType>
</EmbeddedResource>
</AvaloniaResource>
</ItemGroup>
<Import Project="..\..\build\Rx.props" />

3
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">
<UserControl.Resources>
<internal:FileSizeStringConverter x:Key="FileSizeConverter" />
<DrawingGroup x:Key="LevelUp">

2
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}">

Loading…
Cancel
Save