Movere.Win32
0.2.1-beta.1
Prefix Reserved
dotnet add package Movere.Win32 --version 0.2.1-beta.1
NuGet\Install-Package Movere.Win32 -Version 0.2.1-beta.1
<PackageReference Include="Movere.Win32" Version="0.2.1-beta.1" />
paket add Movere.Win32 --version 0.2.1-beta.1
#r "nuget: Movere.Win32, 0.2.1-beta.1"
// Install Movere.Win32 as a Cake Addin #addin nuget:?package=Movere.Win32&version=0.2.1-beta.1&prerelease // Install Movere.Win32 as a Cake Tool #tool nuget:?package=Movere.Win32&version=0.2.1-beta.1&prerelease
Movere
Movere is an implementation of managed dialogs for Avalonia. Currently there are message dialogs, as well as open and save file dialogs, and a print dialog (based on System.Drawing.Printing
) is WIP.
Getting Started
Registering file dialogs with Avalonia
To use Avalonia system dialog APIs, it's possible to simply register Movere dialogs with AppBuilder
:
- Import
Movere
namespace:
using Movere;
- Add
UseMovere
toAppBuilder
configuration. Example:
AppBuilder.Configure<App>()
.UsePlatformDetect()
.UseMovere();
- Then use Avalonia system dialog APIs. Example:
var dialog = new OpenFileDialog();
var result = await dialog.ShowAsync(parent);
Using dialog services
To simply use the dialogs (this example is for message dialogs, but it's similar for others):
- Create a dialog service for
Window
(owner):
var messageDialogService = new MessageDialogService(owner);
- Pass the service to View Model:
window.DataContext = new ViewModel(messageDialogService);
- Show dialog from View Model when you need to:
private Task ShowInfoAsync() =>
_messageDialogService.ShowMessageDialogAsync(
new MessageDialogOptions(
DialogIcon.Info,
"Message Dialog",
"Some info",
DialogResultSet.OK));
Available icons are:
DialogIcon.None
DialogIcon.Info
DialogIcon.Warning
DialogIcon.Error
To add your own icon, just create an instance of DialogIcon
and pass the resource string, e.g avares://My.App/Resources/Icons/MyIcon.png
.
Dialog results are extensible as well, and support localization.
Roadmap
- Maybe separate file explorer view into separate project.
- Improve styles for dialogs.
- Add tests.
- Print dialog.
- Eventually move file explorer logic to a separate project and create a file explorer application.
Credits
Icons
flaticon.com
- File - Kiranshastry
- Folder - Smashicons
The project logo is from linea.io.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- Movere (>= 0.2.1-beta.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.2.1-beta.1 | 47 | 9/20/2024 |
0.2.0 | 101 | 9/13/2024 |