Dove.Avalonia.Extensions.Media 1.2.6

There is a newer version of this package available.
See the version list below for details.
dotnet add package Dove.Avalonia.Extensions.Media --version 1.2.6                
NuGet\Install-Package Dove.Avalonia.Extensions.Media -Version 1.2.6                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dove.Avalonia.Extensions.Media" Version="1.2.6" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Dove.Avalonia.Extensions.Media --version 1.2.6                
#r "nuget: Dove.Avalonia.Extensions.Media, 1.2.6"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Dove.Avalonia.Extensions.Media as a Cake Addin
#addin nuget:?package=Dove.Avalonia.Extensions.Media&version=1.2.6

// Install Dove.Avalonia.Extensions.Media as a Cake Tool
#tool nuget:?package=Dove.Avalonia.Extensions.Media&version=1.2.6                

Controls Extensions for Avalonia

WARNING

IN Avalonia 0.10.14,the NativeControlHost NEED app.manifest for Windows.IF NOT,THAT'S MAKE THE PlayerView CANNOT WORKS NORMALLY!

<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      
      
      
      
      
      
      
      
    </application>
  </compatibility>
</assembly>

GUIDES

About media extension

About control extension

About danmaku control extension

About chinese support extension

DEMO screenshot

图片alt

INPORTANT

To enable extension the UseDoveExtensions method call should be present in your Program.cs file:

public static AppBuilder BuildAvaloniaApp()
    => AppBuilder.Configure<App>()
        .UsePlatformDetect()
        .UseDoveExtensions()
        .LogToTrace();

ABOUT FOLDER

Base

Basic, public library

Controls

Control extension implementation

Utils

Extension Method Library


TODO LIST

CONTROLS

  • ProgressRing

    inherit from Canvas,Implement loading animation

  • ClickableView

    Views that can trigger the click event

  • GridView

    a Multiple-Column ListView/ListBox,Just like GridView in UWP

  • GridViewItem

    Item for GridViewItem,inherit from ListViewItem,with Left/Right Click Event

  • CircleImage

    inherit from Ellipse,Round picture.Just like PersonPicture in UWP

  • ExpandableView

    A view that shows items in a vertically scrolling two-level list PrimaryView

    Main Item,show/hide the SecondView after selection SecondView show or hide when select PrimaryView

  • ImageBox

    inherit from Image,loading image from http/https/local

  • ListView

    inherit from ListBox,just like the ListView in UWP

  • ListViewItem

    Item for ListView,inherit from ListBoxItem

  • MessageBox

    Show message window

  • NotifyWindow

    Notify message window,the transition animation can be displayed according to the preset and automatically closed after a certain period of time

  • PopupMenu

    inherit from Window,close after selecting item and trigger the event

  • HorizontalItemsRepeater

    inherit from ItemsRepeater,Horizontal layout with Clickable Item

  • VerticalItemsRepeater

    inherit from ItemsRepeater,Vertical layout with Clickable Item

  • ItemsRepeaterContent

    Item for ItemsRepeater with Clickable Event

  • ScrollView

    inherit from ScrollViewer,extend sliding to the bottom, sliding to the top event

  • SeekSlider

    inherit from Slider,extend value change event

  • PopupToast

    inherit from Window,show message dialog and automatically shut down after a certain period of time

    diff with PopupDialog, it's popuping in workarea who popuping in control/panel

  • TextLabel

    Run binding just LIKE WPF/UWP in TextBlock,with LineBreak can wrap the text

  • HyperlinkButton

    the button style LIKE HyperlinkButton in UWP

  • AeroWindow

    the window LIKE "Windows Aero" OR "Aero Grass",modify MoveDragEnable value as true use move window position

  • ImageContentButton

    the button show Image and Text

  • CheckBoxList

    a grouping checkbox control

  • RadioButtonList

    a grouping radiobutton control

  • Text

    the Shapes control for text content,it is a child when you are using canvas

  • TipLabel

    the TextBlock with border control

  • TextView

    the control like TextPresenter,but it's draw by the textLayout,so supoort custom font in your project

  • EditTextView

    the control like TexBox,but it's draw by the textLayout,so supoort custom font in your project

  • PathIcon

    the same control in uwp

  • ImageIcon

    the icon control load from image,just like PathIcon and SymbolIcon

  • SymbolIcon

    the same control in uwp(but the Glyph Only valid in XAML)

  • NotifyIcon

    the notify control,now just for windows only

  • PaginationView

    the pager control for ItemControl(but the Glyph Only valid in XAML)

  • SurfaceView

    the print control just like image,set the bitmap to Sources will flash it

EXTEND

  • GetHwnd

    get control or window hwnd object

  • GetScreenSize

    get screen size object(workarea or monitor)

  • ActualWidth

    get visable control actual width

  • ActualHeight

    get visable control actual height

  • GetPrivateField

    get control/namescope private field

  • SetPrivateField

    set value for control private field

  • GetPrivateProperty

    get control private property

  • SetPrivateProperty

    set value for control private property

  • MeasureString

    get string text display width

  • AreClose

    between value is too close or not

  • InvokePrivateMethod

    call control private method

  • FindControls

    find child control by control type

  • GetWindow

    get window who own this control

  • Shutdown / TryShutdown

    shutdown application

DANMAKU

WARNING

Need to reference Dove.Avalonia.Controls.Extensions.Danmaku package

CONTROLS

  • DanmakuView

    use libwtfdanmaku libs draw danmaku,only work's on Windows

  • DanmakuNativeView

    use Avalonia Animation draw danmaku,for all platforms

MEDIA

WARNING

Need to reference Dove.Avalonia.Extensions.Media package

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

NOW the Version >= 1.2.0,it's able to use ffmpeg playing video!!!! Please use FFmpegView.Avalonia replace since Version >= 1.2.5

Ah ! You can reference the ffmpeg libraries packages from Windows or Linux or MacOS

OH ! You can reference the bass libraries packages from Windows or Linux or MacOS

and the ManagedBass require the libraries is in your program root folder,the [Dove.Avalonia.Extensions.Media] has handle copy to the require path.but if you still get an init failed messsage,plz copy by yourself!!

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

if you need VideoView or PlayerView,you should install libVLC in your project before init!!!

if you need FFmpegView,you should install libFfmpeg in your project before init!!!

if you need AudioControl,should install libbass in your project before init!!!

To enable extension the UseAudioControl AND UseVideoView method call should be present in your Program.cs file,the 1st one is for AudioControl, the 2nd one is for VideoView or PlayerView,you can also call it according to your NEEDS:

public static AppBuilder BuildAvaloniaApp()
    => AppBuilder.Configure<App>()
        .UsePlatformDetect()
        .UseVideoView()
        .UseAudioControl()
        .UseFFmpeg()
        .LogToTrace();
  • VideoView Support

    the VideoView in LibVLCSharp,modified to support use in UserControl

  • FFmpegView Support

    the video view by using ffmpeg

  • PlayerView Support

    the custom control for VideoView,it's just like in uwp/wpf

  • AudioControl Support

    the control playing audio without visual or occupy bounds

LANGUAGE

To enable extension the UseChineseInputSupport method call should be present in your Program.cs file,you defined which controls(default is TextBox and TextPresenter):

public static AppBuilder BuildAvaloniaApp()
    => AppBuilder.Configure<App>()
        .UsePlatformDetect()
        .UseChineseInputSupport()
        .LogToTrace();

If you need to use a global font in the App, you need to inherit ApplicationBase in the App.xaml.cs class

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
2.0.3 229 8/10/2024
2.0.2 1,592 10/24/2023
2.0.1 1,179 7/17/2023
2.0.0 1,148 7/16/2023
2.0.0-preview6 1,111 4/13/2023
2.0.0-preview5 1,103 4/11/2023
2.0.0-preview4 1,050 3/10/2023
2.0.0-preview3 1,092 11/6/2022
2.0.0-preview1 1,142 9/17/2022
1.2.6 1,124 4/13/2023
1.2.5 1,352 12/2/2022
1.2.4 1,319 11/23/2022
1.2.3 1,343 11/12/2022
1.2.2 1,361 11/3/2022
1.2.1 1,416 10/28/2022 1.2.1 is deprecated because it has critical bugs.
1.2.0 1,365 10/27/2022
1.1.0 1,431 9/7/2022
1.0.9 1,436 9/7/2022
1.0.8 1,400 8/31/2022
1.0.7 1,490 7/8/2022
1.0.6 1,544 6/15/2022
1.0.5 1,529 5/19/2022
1.0.4 1,400 5/12/2022
1.0.3 1,409 5/12/2022
1.0.2 1,386 5/9/2022
1.0.1 1,338 5/7/2022
1.0.0 1,360 5/7/2022