├── .editorconfig
├── .gitattributes
├── .github
└── workflows
│ └── main.yml
├── .gitignore
├── Directory.Build.props
├── Document
├── About.png
├── Accent.png
├── Autority.png
├── BackgroundImage.png
├── Dark.Blue.png
├── Dark.Gray.png
├── Dark.Purple.png
├── Dark.png
├── Form.Edit.png
├── Form.View.png
├── Layout.Small.png
├── Light.Accent.png
├── Light.Blue.png
├── Light.Gray.png
├── Light.Purple.png
├── Light.png
├── Login.png
├── Message.Dialog.png
├── Message.Notice.png
├── Message.Percent.png
├── Message.Snack.png
├── Message.String.png
├── Message.Waitting.png
├── Operation.png
├── Role.png
├── Setting.png
├── Size.Large.png
├── Splash.png
├── User.png
├── logo.ico
└── logo.png
├── LICENSE
├── Package.sln
├── README.md
├── Solution
└── Avalonia-Controls.sln
└── Source
├── Apps
├── Avalonia.App.Explorer.Android
│ ├── Avalonia.App.Explorer.Android.csproj
│ ├── Icon.png
│ ├── MainActivity.cs
│ ├── Properties
│ │ └── AndroidManifest.xml
│ └── Resources
│ │ ├── drawable
│ │ └── splash_screen.xml
│ │ ├── values-night
│ │ └── colors.xml
│ │ └── values
│ │ ├── colors.xml
│ │ └── styles.xml
├── Avalonia.App.Explorer.Desktop
│ ├── Avalonia.App.Explorer.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
├── Avalonia.App.Explorer
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ │ └── avalonia-logo.ico
│ ├── Avalonia.App.Explorer.csproj
│ ├── ViewModels
│ │ ├── MainViewModel.cs
│ │ └── ViewModelBase.cs
│ └── Views
│ │ ├── MainView.axaml
│ │ ├── MainView.axaml.cs
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.axaml.cs
├── Avalonia.App.WeChat.Android
│ ├── Avalonia.App.WeChat.Android.csproj
│ ├── Icon.png
│ ├── MainActivity.cs
│ ├── Properties
│ │ └── AndroidManifest.xml
│ └── Resources
│ │ ├── drawable
│ │ └── splash_screen.xml
│ │ ├── values-night
│ │ └── colors.xml
│ │ └── values
│ │ ├── colors.xml
│ │ └── styles.xml
├── Avalonia.App.WeChat.Desktop
│ ├── Avalonia.App.WeChat.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
└── Avalonia.App.WeChat
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ ├── 1.jpg
│ ├── avalonia-logo.ico
│ └── logo.ico
│ ├── Avalonia.App.WeChat.csproj
│ ├── Models
│ ├── Address.cs
│ ├── AddressItem.cs
│ ├── FindItem.cs
│ ├── FriendGroup.cs
│ ├── Function.cs
│ ├── GetRandomRangeMarkupExtension.cs
│ ├── ITabItem.cs
│ ├── InfoItemBase.cs
│ ├── Message.cs
│ ├── MessageItem.cs
│ ├── MyItem.cs
│ ├── ReciveMessageItem.cs
│ ├── SendMessageItem.cs
│ ├── SettingFunction.cs
│ ├── ShowAdress.cs
│ ├── ShowFindItem.cs
│ ├── ShowFriendGroup.cs
│ ├── ShowMessage.cs
│ ├── ShowMy.cs
│ ├── ShowSetting.cs
│ ├── TabItemBindableBase.cs
│ └── TimeValueConverter.cs
│ ├── ViewModels
│ ├── MainViewModel.cs
│ └── ViewModelBase.cs
│ └── Views
│ ├── MainView.axaml
│ ├── MainView.axaml.cs
│ ├── MainWindow.axaml
│ └── MainWindow.axaml.cs
├── Controls
├── HeBianGu.AvaloniaUI.DrawerBox
│ ├── AssemblyInfo.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.DrawerBox.csproj
│ └── Resources
│ │ ├── CloseDrawerCommand.cs
│ │ ├── DrawerBox.axaml
│ │ ├── DrawerBox.axaml.cs
│ │ └── ShowDrawerCommand.cs
├── HeBianGu.AvaloniaUI.ExploreBox
│ ├── AssemblyInfo.cs
│ ├── CustomPath.cs
│ ├── ExploreFastTreeDataProviderExtension.cs
│ ├── ExploreIsFileConverter.cs
│ ├── ExploreTree.cs
│ ├── ExploreTreeDataProviderExtension.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.ExploreBox.csproj
│ ├── IExploreTree.cs
│ ├── Resources
│ │ ├── ExploreBox.axaml
│ │ ├── ExploreBox.axaml.cs
│ │ ├── ExploreNavigatorBox.axaml
│ │ ├── ExploreNavigatorBox.axaml.cs
│ │ ├── ExploreTreeView.axaml
│ │ └── ExploreTreeView.axaml.cs
│ └── TreeViewItemLazyLoadBehavior.cs
├── HeBianGu.AvaloniaUI.Form
│ ├── AssemblyInfo.cs
│ ├── Attribute
│ │ ├── BindingAttribute.cs
│ │ ├── BindingGetSelectSourceMethodAttribute.cs
│ │ ├── BindingGetSelectSourcePropertyAttribute.cs
│ │ ├── PropertyAttribute.cs
│ │ ├── PropertyItemTypeAttribute.cs
│ │ ├── StyleAttribute.cs
│ │ ├── TextBoxAttribute.cs
│ │ └── UnitAttribute.cs
│ ├── DataTemplates
│ │ ├── BoolNullablePropertyItem.axaml
│ │ ├── BoolNullablePropertyItem.axaml.cs
│ │ ├── BoolPropertyItem.axaml
│ │ ├── BoolPropertyItem.axaml.cs
│ │ ├── ComboBoxPropertyItem.axaml
│ │ ├── ComboBoxPropertyItem.axaml.cs
│ │ ├── DateTimePropertyItem.axaml
│ │ ├── DateTimePropertyItem.axaml.cs
│ │ ├── StaticFormPresenter.axaml
│ │ ├── StaticFormPresenter.axaml.cs
│ │ ├── TextPropertyItem.axaml
│ │ ├── TextPropertyItem.axaml.cs
│ │ ├── TextPropertyViewItem.axaml
│ │ └── TextPropertyViewItem.axaml.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.Form.csproj
│ ├── PropertyItem
│ │ ├── Base
│ │ │ ├── IPropertyItemPresenter.cs
│ │ │ ├── IPropertyViewItemPresenter.cs
│ │ │ ├── ItemsSourcePropertyItem.cs
│ │ │ ├── ObjectProperty.cs
│ │ │ ├── PrimitivesPropertyItem.cs
│ │ │ └── StringHost.cs
│ │ ├── BrushPropertyItem.cs
│ │ ├── ClearPathTextPropertyItem.cs
│ │ ├── ColorPropertyItem.cs
│ │ ├── ComboboxRepositoryPropertyItem.xaml.cs
│ │ ├── CommandPropertyItem.xaml.cs
│ │ ├── DateTimePropertyItem.xaml.cs
│ │ ├── EnumPropertyItem.xaml.cs
│ │ ├── IEnumerablePropertyItem.xaml.cs
│ │ ├── PresenterPropertyItem.cs
│ │ ├── PrimitiveArrayPropertyItem.cs
│ │ ├── PrimitiveListPropertyItem.cs
│ │ └── SelectSourcePropertyItem.xaml.cs
│ ├── Provider
│ │ ├── Behavior
│ │ │ └── ItemsSourceButtonBehavior.cs
│ │ ├── FormPresenter.cs
│ │ ├── PropertyExtention.cs
│ │ ├── PropertyItemSelector.cs
│ │ └── PropertyService.cs
│ ├── Resources
│ │ ├── Form.axaml
│ │ └── Form.axaml.cs
│ ├── TestPropertyModel.cs
│ └── TypeCTestModel.cs
├── HeBianGu.AvaloniaUI.MultiComboBox
│ ├── AssemblyInfo.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.MultiComboBox.csproj
│ └── Resources
│ │ ├── MultiComboBox.axaml
│ │ └── MultiComboBox.axaml.cs
├── HeBianGu.AvaloniaUI.Step
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ │ ├── IStepItemPresenter.cs
│ │ ├── StepItemPresenter.axaml
│ │ ├── StepItemPresenter.axaml.cs
│ │ ├── StepItemVerticalPresenter.axaml
│ │ ├── StepItemVerticalPresenter.cs
│ │ ├── StepPresenter.axaml
│ │ ├── StepPresenter.axaml.cs
│ │ └── StepState.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.Step.csproj
│ ├── Resources
│ │ ├── Step.axaml
│ │ └── Step.axaml.cs
│ ├── RunStepCommand.cs
│ └── RunStepMessageCommand.cs
├── HeBianGu.AvaloniaUI.VlcPlayer
│ ├── AddFrameCommand.cs
│ ├── AssemblyInfo.cs
│ ├── HeBianGu.AvaloniaUI.VlcPlayer.csproj
│ ├── OpenFilePlayerCommand.cs
│ ├── Resources
│ │ ├── VlcPlayer.axaml
│ │ └── VlcPlayer.axaml.cs
│ ├── StopCommand.cs
│ ├── SwitchPlayCommand.cs
│ └── TakeSnapshotCommand.cs
└── HeBianGu.Controls.TemplateControl
│ ├── AssemblyInfo.cs
│ ├── Button.xaml
│ ├── HeBianGu.Controls.TemplateControl.csproj
│ ├── MyButton.axaml
│ ├── MyButton.axaml.cs
│ └── Styles
│ ├── MyTemplatedControl.axaml
│ └── MyTemplatedControl.axaml.cs
├── Cores
├── HeBianGu.AvaloniaUI.Ioc
│ ├── AssemblyInfo.cs
│ ├── Crypt
│ │ ├── ICryptService.cs
│ │ └── IocCrypt.cs
│ ├── DataBase
│ │ ├── DbModelBase.cs
│ │ ├── EntityBase.cs
│ │ ├── GuidEntityBase.cs
│ │ ├── IDbConnectService.cs
│ │ ├── IEntityBase.cs
│ │ ├── IRepository.cs
│ │ ├── IStringRepository.cs
│ │ └── StringEntityBase.cs
│ ├── Feedback
│ │ ├── IFeedbackViewPresenter.cs
│ │ └── ShowFeedbackCommand.cs
│ ├── Guide
│ │ ├── IGuideService.cs
│ │ └── ShowGuideCommand.cs
│ ├── HeBianGu.AvaloniaUI.Ioc.csproj
│ ├── IApplicationBuilder.cs
│ ├── IChartDataProvider.cs
│ ├── IDataSource.cs
│ ├── IDesignable.cs
│ ├── IExcelService.cs
│ ├── ILayoutable.cs
│ ├── IScheduledTaskService.cs
│ ├── IZoombox.cs
│ ├── Ioc
│ │ ├── DbIoc.cs
│ │ ├── Ioc.cs
│ │ ├── IocExtension.cs
│ │ ├── IocThrowIfNone.cs
│ │ └── LazyInstance.cs
│ ├── IocMarkupCommandBase.cs
│ ├── Logger
│ │ ├── ILogService.cs
│ │ ├── IocLog.cs
│ │ ├── LogCommand.cs
│ │ └── LogType.cs
│ ├── Login
│ │ ├── Author
│ │ │ ├── Authority.cs
│ │ │ ├── IAuthor.cs
│ │ │ ├── IAuthority.cs
│ │ │ └── IAuthorityViewPresenter.cs
│ │ ├── IIdentityService.cs
│ │ ├── ILoginViewPresenter.cs
│ │ ├── ILoginWindow.cs
│ │ ├── ILoginedSplashLoad.cs
│ │ ├── ILoginedSplashViewPresenter.cs
│ │ ├── IRegisterService.cs
│ │ ├── Role
│ │ │ ├── IRole.cs
│ │ │ └── IRoleViewPresenter.cs
│ │ └── User
│ │ │ ├── IUser.cs
│ │ │ └── IUserViewPresenter.cs
│ ├── Mail
│ │ ├── IMailLogService.cs
│ │ ├── IMailService.cs
│ │ └── MailMessageItem.cs
│ ├── Message
│ │ ├── Dialog
│ │ │ ├── Commands
│ │ │ │ ├── Command.Base.cs
│ │ │ │ ├── Command.Delete.cs
│ │ │ │ ├── Command.Show.cs
│ │ │ │ ├── Command.ShowEdit.cs
│ │ │ │ ├── Command.ShowIoc.cs
│ │ │ │ ├── Command.ShowMessage.cs
│ │ │ │ ├── Command.ShowPercent.cs
│ │ │ │ ├── Command.ShowString.cs
│ │ │ │ ├── Command.ShowView.cs
│ │ │ │ └── Command.ShowWait.cs
│ │ │ ├── DialogButton.cs
│ │ │ ├── DialogCommand.Base.cs
│ │ │ ├── DialogCommand.Cancel.cs
│ │ │ ├── DialogCommand.Close.cs
│ │ │ ├── DialogCommand.Sumit.cs
│ │ │ ├── ElementExtention.cs
│ │ │ ├── IAdornerDialogPresenter.cs
│ │ │ ├── ICancelable.cs
│ │ │ ├── IDialog.cs
│ │ │ ├── IDialogMessageService.Adorner.cs
│ │ │ ├── IDialogMessageService.Window.cs
│ │ │ ├── IDialogMessageService.cs
│ │ │ ├── IPercentPresenter.cs
│ │ │ ├── IStringPresenter.cs
│ │ │ └── IocDialog.cs
│ │ ├── Form
│ │ │ ├── IFormMessageService.cs
│ │ │ └── IFormOption.cs
│ │ ├── IocMessage.cs
│ │ ├── Notice
│ │ │ ├── INoticeItemPresenter.cs
│ │ │ ├── INoticeMessageService.cs
│ │ │ ├── IPercentNoticeItemPresenter.cs
│ │ │ ├── NoticeMessage.Command.Base.cs
│ │ │ ├── NoticeMessage.Command.ShowDialog.cs
│ │ │ ├── NoticeMessage.Command.ShowError.cs
│ │ │ ├── NoticeMessage.Command.ShowFatal.cs
│ │ │ ├── NoticeMessage.Command.ShowInfo.cs
│ │ │ ├── NoticeMessage.Command.ShowProgress.cs
│ │ │ ├── NoticeMessage.Command.ShowString.cs
│ │ │ ├── NoticeMessage.Command.ShowSuccess.cs
│ │ │ └── NoticeMessage.Command.ShowWarn.cs
│ │ ├── Notify
│ │ │ ├── ISystemNotifyMessage.cs
│ │ │ └── NotifyBalloonIcon.cs
│ │ ├── Snack
│ │ │ ├── IPercentSnackItemPresenter.cs
│ │ │ ├── ISnackItemPresenter.cs
│ │ │ ├── ISnackMessageService.cs
│ │ │ ├── NoticeMessage.Command.Base.cs
│ │ │ ├── NoticeMessage.Command.ShowDialog.cs
│ │ │ ├── NoticeMessage.Command.ShowError.cs
│ │ │ ├── NoticeMessage.Command.ShowFatal.cs
│ │ │ ├── NoticeMessage.Command.ShowInfo.cs
│ │ │ ├── NoticeMessage.Command.ShowProgress.cs
│ │ │ ├── NoticeMessage.Command.ShowString.cs
│ │ │ ├── NoticeMessage.Command.ShowSuccess.cs
│ │ │ └── NoticeMessage.Command.ShowWarn.cs
│ │ └── TaskBar
│ │ │ └── ITaskBarMessage.cs
│ ├── Operation
│ │ ├── IOperationService.cs
│ │ ├── IOperationViewPresenter.cs
│ │ └── OperationType.cs
│ ├── Presenter
│ │ ├── IAboutButtonPresenter.cs
│ │ ├── IAboutViewPresenter.cs
│ │ └── IPresenter.cs
│ ├── Project
│ │ ├── IProjectItem.cs
│ │ ├── IProjectService.cs
│ │ ├── IProjectViewPresenter.cs
│ │ ├── IocProject.cs
│ │ ├── ProjectCommand.Delete.cs
│ │ ├── ProjectCommand.New.cs
│ │ ├── ProjectCommand.Open.cs
│ │ ├── ProjectCommand.Save.cs
│ │ └── ProjectSaveMode.cs
│ ├── Revertible
│ │ ├── Command.Redo.cs
│ │ ├── Command.Undo.cs
│ │ ├── IRevertible.cs
│ │ ├── IRevertibleService.T.cs
│ │ ├── IRevertibleService.cs
│ │ ├── IocRevertible.Base.cs
│ │ ├── IocRevertible.T.cs
│ │ ├── IocRevertible.cs
│ │ └── RevertibleDisposer.cs
│ ├── Serialize
│ │ ├── ICloneService.cs
│ │ ├── IJsonSerializerService.cs
│ │ ├── ISerializerService.cs
│ │ ├── IXmlSerializerService.cs
│ │ ├── IXmlable.cs
│ │ ├── IocSerializer.cs
│ │ ├── JsonCloneService.cs
│ │ ├── JsonSerializerService.cs
│ │ ├── Meta
│ │ │ ├── IMetaSetting.cs
│ │ │ ├── IMetaSettingSerilize.cs
│ │ │ ├── IMetaSettingService.cs
│ │ │ └── JsonMetaSettingService.cs
│ │ └── Web
│ │ │ ├── IWebJsonSerializerService.cs
│ │ │ ├── IWebXmlSerializerService.cs
│ │ │ ├── IocXmlWebSerializer.cs
│ │ │ ├── JsonWebSerializerService.cs
│ │ │ └── XmlWebSerializerService.cs
│ ├── Setting
│ │ ├── AppPaths.cs
│ │ ├── IAppPaths.cs
│ │ ├── IDefaultable.cs
│ │ ├── ISettable.cs
│ │ ├── ISettingButtonPresenter.cs
│ │ ├── ISettingOption.cs
│ │ ├── ISettingViewPresenter.cs
│ │ ├── ISettingViewPresenterOption.cs
│ │ ├── SettingDataManager.cs
│ │ └── SettingGroupNames.cs
│ ├── SplashScreen
│ │ ├── IAppLoadService.cs
│ │ ├── IAppSaveService.cs
│ │ ├── IDbDisconnectService.cs
│ │ ├── ILicenseLoadService.cs
│ │ ├── ILoadable.cs
│ │ ├── ISaveable.cs
│ │ ├── ISplashLoad.cs
│ │ ├── ISplashSave.cs
│ │ ├── ISplashScreenViewPresenter.cs
│ │ ├── ISplashScreenWindow.cs
│ │ └── IocSaveAllCommand.cs
│ ├── Theme
│ │ ├── ISwitchThemeViewPresenter.cs
│ │ └── IThemeViewPresenter.cs
│ ├── Transition
│ │ ├── ITransitionableHost.cs
│ │ └── IVisualTransitionable.cs
│ ├── Upgrade
│ │ ├── IUpgradeService.cs
│ │ └── IocUpgrade.cs
│ └── Where
│ │ ├── IDisplayFilter.cs
│ │ ├── IDisplayable.cs
│ │ ├── IFilterable.cs
│ │ ├── IOrderable.cs
│ │ └── IWhereable.cs
└── HeBianGu.AvaloniaUI.Mvvm
│ ├── AssemblyInfo.cs
│ ├── Commands
│ ├── CommandBase.cs
│ ├── Commands.cs
│ ├── DisplayCommand.T.cs
│ ├── DisplayCommand.cs
│ ├── IDisplayCommand.cs
│ ├── InvokeCommand.cs
│ ├── MarkupCommandBase.cs
│ ├── RelayCommand.cs
│ └── TransactionCommand.cs
│ ├── HeBianGu.AvaloniaUI.Mvvm.csproj
│ ├── RoutedEventArgs.cs
│ └── ViewModels
│ ├── Bindable.cs
│ ├── BindableBase.cs
│ ├── BindingProxy.cs
│ ├── DesignPresenterBase.cs
│ ├── DisplayBindable.cs
│ ├── DisplayBindableBase.cs
│ ├── IDAttribute.cs
│ ├── IDable.cs
│ ├── IDesignPresenterBase.cs
│ ├── IModelBindable.T.cs
│ ├── IModelBindable.cs
│ ├── ISearchable.cs
│ ├── ISelectBindable.cs
│ ├── ModelBindable.cs
│ ├── SelectBindable.cs
│ └── Tree
│ ├── ITreeNode.cs
│ └── TreeNodeBase.cs
├── DataBases
├── HeBianGu.AvaloniaUI.DataBase.Share
│ ├── DbConnectServiceBase.cs
│ ├── DbDisconnectService.cs
│ ├── DbSettableBase.cs
│ ├── Extention.cs
│ ├── HeBianGu.AvaloniaUI.DataBase.Share.projitems
│ ├── HeBianGu.AvaloniaUI.DataBase.Share.shproj
│ ├── IDbSetting.cs
│ └── Provider
│ │ ├── DbContextRepository.cs
│ │ ├── RepositoryBase.cs
│ │ └── StringRepositoryBase.cs
└── HeBianGu.AvaloniaUI.Sqlite
│ ├── AssemblyInfo.cs
│ ├── DataContextFactory.cs
│ ├── Extention.cs
│ ├── HeBianGu.AvaloniaUI.Sqlite.csproj
│ ├── ISqliteOption.cs
│ ├── ReadMe.txt
│ ├── SqliteDbConnectService.cs
│ ├── SqliteSettable.cs
│ ├── SqliteSettableBase.cs
│ └── Themes
│ └── Generic.xaml
├── Datas
└── HeBianGu.AvaloniaUI.DemoData
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ ├── Student.axaml
│ └── Student.axaml.cs
│ ├── Extension.cs
│ ├── GetStudentExtension.cs
│ ├── GetStudentsExtension.cs
│ ├── GetTestViewModelsExtension.cs
│ ├── HeBianGu.AvaloniaUI.DemoData.csproj
│ ├── StudentValidationRule.cs
│ ├── Students.cs
│ ├── TestBindable.cs
│ └── TestViewModels.cs
├── Extensions
├── HeBianGu.AvaloniaUI.Animations
│ ├── AnimationExtension.cs
│ ├── AssemblyInfo.cs
│ ├── HeBianGu.AvaloniaUI.Animations.csproj
│ ├── OpacityTransitionable.cs
│ ├── RotateTransitionable.cs
│ ├── ScaleTransitionable.cs
│ ├── Transitionable.cs
│ ├── TransitionableBase.cs
│ └── TranslateXTransitionable.cs
├── HeBianGu.AvaloniaUI.Application
│ ├── ApplicationAxamlLoader.cs
│ ├── ApplicationAxamlLoaderAttribute.cs
│ ├── ApplicationBase.cs
│ ├── ApplicationBuilder.cs
│ ├── ApplicationExtension.cs
│ ├── ApplicationProvider.cs
│ ├── ApplicationResourceLoaderAttribute.cs
│ ├── ApplicationStylesLoaderAttribute.cs
│ ├── AssemblyInfo.cs
│ ├── HeBianGu.AvaloniaUI.Application.csproj
│ ├── IApplicationAxamlLoader.cs
│ └── PresenterDataTemplateLocator.cs
├── HeBianGu.AvaloniaUI.Attach
│ ├── AssemblyInfo.cs
│ ├── Attach.Caption.cs
│ ├── Attach.Layout.cs
│ ├── Class1.cs
│ └── HeBianGu.AvaloniaUI.Attach.csproj
├── HeBianGu.AvaloniaUI.BackgroundImage
│ ├── AssemblyInfo.cs
│ ├── Assets
│ │ ├── Arrow.png
│ │ ├── Cover.png
│ │ ├── Grid.png
│ │ ├── Mountain.png
│ │ ├── Star.png
│ │ └── Wave.png
│ ├── Class1.cs
│ └── HeBianGu.AvaloniaUI.BackgroundImage.csproj
├── HeBianGu.AvaloniaUI.Behavior
│ ├── HeBianGu.AvaloniaUI.Behavior.csproj
│ └── TestBehavior.cs
├── HeBianGu.AvaloniaUI.Command
│ ├── AssemblyInfo.cs
│ ├── CancelWindowCommand.cs
│ ├── DeleteItemCommand.cs
│ ├── HeBianGu.AvaloniaUI.Command.csproj
│ ├── MarkupCommandBase.cs
│ ├── WindowCommand.Base.cs
│ ├── WindowCommand.Close.cs
│ ├── WindowCommand.CloseAfterSave.cs
│ ├── WindowCommand.Maximize.cs
│ ├── WindowCommand.Minimize.cs
│ ├── WindowCommand.Restore.cs
│ └── WindowCommand.Sumit.cs
├── HeBianGu.AvaloniaUI.Extension
│ ├── AssemblyInfo.cs
│ ├── AvaloniaFileExtension.cs
│ ├── DataTemplatesSelector.cs
│ ├── Extension.Application.cs
│ ├── Extension.Dispatcher.cs
│ ├── Extension.DrawingContext.cs
│ ├── Extension.File.cs
│ ├── Extension.Geometry.cs
│ ├── Extension.Grid.cs
│ ├── Extension.Object.cs
│ ├── Extension.Observable.cs
│ ├── Extension.Rect.cs
│ ├── Extension.TreeView.cs
│ ├── Extention.Element.cs
│ ├── Extention.Image.cs
│ ├── HeBianGu.AvaloniaUI.Extension.csproj
│ └── TypeJsonConverter.cs
├── HeBianGu.AvaloniaUI.Geometry
│ ├── AssemblyInfo.cs
│ ├── BeizerExtension.cs
│ ├── GeometryFactory.cs
│ ├── Geometrys.cs
│ ├── HeBianGu.AvaloniaUI.Geometry.csproj
│ └── Themes
│ │ └── Generic.xaml
├── HeBianGu.AvaloniaUI.MarkupExtesion
│ ├── AssemblyInfo.cs
│ ├── GetRandomRangeExtension.cs
│ ├── GetRangeExtension.cs
│ ├── HeBianGu.AvaloniaUI.MarkupExtesion.csproj
│ └── MarkupValueConverterBase.cs
├── HeBianGu.AvaloniaUI.Repository
│ ├── AssemblyInfo.cs
│ ├── HeBianGu.AvaloniaUI.Repository.csproj
│ ├── Observable
│ │ ├── IObservableSource.T.cs
│ │ ├── IObservableSource.cs
│ │ ├── ObservableExtension.cs
│ │ └── ObservableSource.cs
│ ├── Repository
│ │ ├── DateRepositoryBindable.cs
│ │ ├── IRepositoryBindable.T.cs
│ │ ├── IRepositoryBindable.cs
│ │ ├── IRepositoryBindableBase.cs
│ │ ├── ITreePath.cs
│ │ ├── ITreeRepositoryBindable.cs
│ │ ├── RepositoryBindable.cs
│ │ ├── RepositoryBindableBase.cs
│ │ ├── RepositoryBindableBase1.cs
│ │ ├── RepositoryViewPresenterBase.cs
│ │ └── TreeRepositoryBindable.cs
│ └── Themes
│ │ └── Generic.xaml
├── HeBianGu.AvaloniaUI.ResourceKey
│ ├── AssemblyInfo.cs
│ ├── AvaloniaResourceKey.cs
│ ├── HeBianGu.AvaloniaUI.ResourceKey.csproj
│ └── StringResourceKey.cs
├── HeBianGu.AvaloniaUI.Setting
│ ├── AssemblyInfo.cs
│ ├── Command.ClearCache.cs
│ ├── Command.ClearSetting.cs
│ ├── HeBianGu.AvaloniaUI.Setting.csproj
│ ├── Settable.Base.cs
│ ├── Settable.Ioc.cs
│ ├── Settable.IocOption.cs
│ ├── Settable.Lazy.cs
│ ├── Settable.cs
│ └── Themes
│ │ └── Generic.xaml
├── HeBianGu.AvaloniaUI.Treeable
│ ├── AssemblyInfo.cs
│ ├── ClassTypeTree.cs
│ ├── ClassTypeTreeDataProviderExtension.cs
│ ├── ClassTypeTreeExtension.cs
│ ├── HeBianGu.AvaloniaUI.Treeable.csproj
│ ├── IParentable.cs
│ ├── ITreeable.cs
│ ├── ParentExtension.cs
│ └── TreeExtension.cs
└── HeBianGu.AvaloniaUI.ValueConverter
│ ├── AssemblyInfo.cs
│ ├── GetIndexFromContainerValueConverter.cs
│ ├── GetStringIsNullOrEmptyValueConverter.cs
│ ├── GetTimeSpanFromMillisecondsValueConverter.cs
│ ├── GetTrueToFalseValueConverter.cs
│ ├── GetWriteLineValueConverter.cs
│ ├── HeBianGu.AvaloniaUI.ValueConverter.csproj
│ ├── MarkupMultiValueConverterBase.cs
│ └── MarkupValueConverterBase.cs
├── Modules
├── HeBianGu.AvaloniaUI.DialogMessage
│ ├── AdonerDialog
│ │ ├── AdornerDialog.Command.Cancel.cs
│ │ ├── AdornerDialog.Command.Close.cs
│ │ ├── AdornerDialog.Command.Show.cs
│ │ ├── AdornerDialog.Command.Sumit.cs
│ │ ├── AdornerDialog.cs
│ │ └── AdornerGrid.cs
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ │ ├── AdornerDialogPresenter.axaml
│ │ ├── AdornerDialogPresenter.axaml.cs
│ │ ├── MobileAdornerDialogPresenter.axaml
│ │ ├── MobileAdornerDialogPresenter.axaml.cs
│ │ ├── PercentPresenter.axaml
│ │ ├── PercentPresenter.axaml.cs
│ │ ├── StringPresenter.axaml
│ │ ├── StringPresenter.axaml.cs
│ │ ├── WaitPresenter.axaml
│ │ └── WaitPresenter.axaml.cs
│ ├── DialogMessage.Adorner.cs
│ ├── DialogMessage.Window.cs
│ ├── Extention.cs
│ ├── HeBianGu.AvaloniaUI.DialogMessage.csproj
│ └── Themes
│ │ └── Generic.xaml
├── HeBianGu.AvaloniaUI.FormMessage
│ ├── AssemblyInfo.cs
│ ├── Extention.cs
│ ├── FormMessageService.cs
│ └── HeBianGu.AvaloniaUI.FormMessage.csproj
├── HeBianGu.AvaloniaUI.Modules.About
│ ├── AboutOption.cs
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ │ ├── AboutViewPresenter.axaml
│ │ └── AboutViewPresenter.axaml.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.Modules.About.csproj
│ └── ShowAboutCommand.cs
├── HeBianGu.AvaloniaUI.Modules.Identity
│ ├── AssemblyInfo.cs
│ ├── AuthoritySetting.cs
│ ├── AuthorityViewPresenter.xaml
│ ├── DataTemplates
│ │ ├── AuthorityViewPresenter.axaml
│ │ ├── AuthorityViewPresenter.axaml.cs
│ │ ├── RoleEditPresenter.axaml
│ │ ├── RoleEditPresenter.axaml.cs
│ │ ├── RoleViewPresenter.axaml
│ │ ├── RoleViewPresenter.axaml.cs
│ │ ├── UserViewPresenter.axaml
│ │ └── UserViewPresenter.axaml.cs
│ ├── Extention.cs
│ ├── HeBianGu.AvaloniaUI.Modules.Identity.csproj
│ ├── IdentifyDataContext.cs
│ ├── IdentifyDataContextFactory.cs
│ ├── IdentifyOptions.cs
│ ├── Migrations
│ │ ├── 20240526134225_init.Designer.cs
│ │ ├── 20240526134225_init.cs
│ │ ├── 20240602050004_update.Designer.cs
│ │ ├── 20240602050004_update.cs
│ │ └── IdentifyDataContextModelSnapshot.cs
│ ├── Model
│ │ ├── hi_dd_author.cs
│ │ ├── hi_dd_role.cs
│ │ └── hi_dd_user.cs
│ ├── Provider
│ │ ├── AdminRole.cs
│ │ ├── AdminUser.cs
│ │ ├── Role.cs
│ │ ├── RoleComboBoxPropertyItem.cs
│ │ └── User.cs
│ ├── ReadMe.txt
│ ├── RoleViewPresenter.xaml
│ ├── Service
│ │ ├── AuthorityService.cs
│ │ ├── LoginService.cs
│ │ └── RegisterService.cs
│ ├── ShowAuthorityViewCommand.cs
│ ├── ShowRoleViewCommand.cs
│ ├── ShowUserViewCommand.cs
│ ├── Themes
│ │ └── Generic.xaml
│ ├── UserViewPresenter.xaml
│ └── XmlLoginService.cs
├── HeBianGu.AvaloniaUI.Modules.Login
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ │ ├── LoginViewPresenter.axaml
│ │ ├── LoginViewPresenter.axaml.cs
│ │ └── RigisterLoginViewPresenter.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.Modules.Login.csproj
│ ├── LoginOptions.cs
│ ├── LoginService.cs
│ ├── LoginWindow.axaml
│ ├── LoginWindow.axaml.cs
│ ├── LoginedSplashViewPresenter.xaml
│ ├── LoginedSplashViewPresenter.xaml.cs
│ ├── Provider
│ │ ├── Forget.cs
│ │ ├── MailVerify.cs
│ │ └── Registor.cs
│ ├── RegisterService.cs
│ ├── RegistorOptions.cs
│ └── Themes
│ │ └── Generic.xaml
├── HeBianGu.AvaloniaUI.Modules.Operation
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ │ ├── OperationViewPresenter.axaml
│ │ └── OperationViewPresenter.axaml.cs
│ ├── Extention.cs
│ ├── HeBianGu.AvaloniaUI.Modules.Operation.csproj
│ ├── Migrations
│ │ ├── 20240526132404_init.Designer.cs
│ │ ├── 20240526132404_init.cs
│ │ └── OperationDataContextModelSnapshot.cs
│ ├── Model
│ │ └── hi_dd_operation.cs
│ ├── OperationDataContext.cs
│ ├── OperationDataContextFactory.cs
│ ├── OperationDataProvider.cs
│ ├── OperationService.cs
│ ├── OperationViewPresenter.xaml
│ ├── ReadMe.txt
│ └── ShowOperationViewCommand.cs
├── HeBianGu.AvaloniaUI.Modules.Setting
│ ├── AssemblyInfo.cs
│ ├── Base
│ │ ├── FileSetting.cs
│ │ ├── HotKeySetting.cs
│ │ ├── LoginSetting.cs
│ │ ├── MainSetting.cs
│ │ ├── NotifySetting.cs
│ │ ├── SettingViewSetting.cs
│ │ ├── StateSetting.cs
│ │ └── ViewSetting.cs
│ ├── Commands.cs
│ ├── DataTemplates
│ │ ├── SettingViewPresenter.axaml
│ │ └── SettingViewPresenter.axaml.cs
│ ├── Extention.cs
│ ├── HeBianGu.AvaloniaUI.Modules.Setting.csproj
│ └── Themes
│ │ └── Generic.xaml
├── HeBianGu.AvaloniaUI.Modules.SplashScreen
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ │ ├── SplashScreenViewPresenter.axaml
│ │ └── SplashScreenViewPresenter.axaml.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.Modules.SplashScreen.csproj
│ ├── SplashScreenOption.cs
│ ├── SplashScreenWindow.axaml
│ └── SplashScreenWindow.axaml.cs
├── HeBianGu.AvaloniaUI.Modules.ThemeSetting
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ │ ├── ThemeSettingViewPresenter.axaml
│ │ └── ThemeSettingViewPresenter.axaml.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.Modules.ThemeSetting.csproj
│ ├── ShowThemeSettingCommand.cs
│ └── ThemeSetting.cs
├── HeBianGu.AvaloniaUI.NoticeMessage
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ │ ├── DialogMessagePresenter.axaml
│ │ ├── DialogMessagePresenter.axaml.cs
│ │ ├── MessagePresenterBase.axaml
│ │ ├── MessagePresenterBase.axaml.cs
│ │ ├── NoticeBoxPresenter.axaml
│ │ ├── NoticeBoxPresenter.axaml.cs
│ │ ├── ProgressMessagePresenter.axaml
│ │ └── ProgressMessagePresenter.axaml.cs
│ ├── Extention.cs
│ ├── HeBianGu.AvaloniaUI.NoticeMessage.csproj
│ ├── NoticeMessageService.cs
│ ├── Presenters
│ │ ├── ErrorMessagePresenter.cs
│ │ ├── FatalMessagePresenter.cs
│ │ ├── InfoMessagePresenter.cs
│ │ ├── StringMessagePresenter.cs
│ │ ├── SuccessMessagePresenter.cs
│ │ └── WarnMessagePresenter.cs
│ └── Themes
│ │ └── Generic.xaml
└── HeBianGu.AvaloniaUI.SnackMessage
│ ├── AssemblyInfo.cs
│ ├── DataTemplates
│ ├── DialogMessagePresenter.axaml
│ ├── DialogMessagePresenter.axaml.cs
│ ├── ProgressMessagePresenter.axaml
│ ├── ProgressMessagePresenter.axaml.cs
│ ├── SnackBoxPresenter.axaml
│ ├── SnackBoxPresenter.axaml.cs
│ ├── SnackMessagePresenterBase.axaml
│ └── SnackMessagePresenterBase.axaml.cs
│ ├── Extention.cs
│ ├── HeBianGu.AvaloniaUI.SnackMessage.csproj
│ ├── Presenters
│ ├── ErrorMessagePresenter.cs
│ ├── FatalMessagePresenter.cs
│ ├── InfoMessagePresenter.cs
│ ├── StringMessagePresenter.cs
│ ├── SuccessMessagePresenter.cs
│ └── WarnMessagePresenter.cs
│ └── SnackMessageService.cs
├── Styles
├── HeBianGu.AvaloniaUI.Styles.Extension
│ ├── AssemblyInfo.cs
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.Styles.Extension.csproj
│ └── Resources
│ │ ├── Button.axaml
│ │ ├── Button.axaml.cs
│ │ ├── GroupBox.axaml
│ │ ├── GroupBox.axaml.cs
│ │ ├── TabControl.axaml
│ │ └── TabControl.axaml.cs
└── HeBianGu.AvaloniaUI.Styles
│ ├── AssemblyInfo.cs
│ ├── Controls
│ ├── Border.axaml
│ ├── Button.axaml
│ ├── CheckBox.axaml
│ ├── ComboBox.axaml
│ ├── ComboBoxItem.axaml
│ ├── DataGrid.axaml
│ ├── Expander.axaml
│ ├── ListBox.axaml
│ ├── ListBoxItem.axaml
│ ├── PathIcon.axaml
│ ├── ProgressBar.axaml
│ ├── RadioButton.axaml
│ ├── Slider.axaml
│ ├── TabControl.axaml
│ ├── TabItem.axaml
│ ├── TextBox.axaml
│ ├── ToggleButton.axaml
│ ├── TreeView.axaml
│ ├── TreeViewItem.axaml
│ └── Window.axaml
│ ├── Extension.cs
│ ├── HeBianGu.AvaloniaUI.Styles.csproj
│ ├── Resources
│ └── ControlTheme.axaml
│ └── WindowSetting.cs
├── Test
├── Avalonia.Test.Code.Desktop
│ ├── Avalonia.Test.Code.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
├── Avalonia.Test.Code
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ │ └── avalonia-logo.ico
│ ├── Avalonia.Test.Code.csproj
│ ├── ViewModels
│ │ ├── MainViewModel.cs
│ │ └── ViewModelBase.cs
│ └── Views
│ │ ├── MainView.axaml
│ │ ├── MainView.axaml.cs
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.axaml.cs
├── Avalonia.Test.Mobile.Android
│ ├── Avalonia.Test.Mobile.Android.csproj
│ ├── Icon.png
│ ├── MainActivity.cs
│ ├── Properties
│ │ └── AndroidManifest.xml
│ └── Resources
│ │ ├── drawable
│ │ └── splash_screen.xml
│ │ ├── values-night
│ │ └── colors.xml
│ │ └── values
│ │ ├── colors.xml
│ │ └── styles.xml
├── Avalonia.Test.Mobile.Desktop
│ ├── Avalonia.Test.Mobile.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
├── Avalonia.Test.Mobile
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ │ └── avalonia-logo.ico
│ ├── Avalonia.Test.Mobile.csproj
│ ├── ViewModels
│ │ ├── MainViewModel.cs
│ │ └── ViewModelBase.cs
│ └── Views
│ │ ├── MainView.axaml
│ │ ├── MainView.axaml.cs
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.axaml.cs
├── Avalonia.Test.Sqlite.Android
│ ├── Avalonia.Test.Sqlite.Android.csproj
│ ├── Icon.png
│ ├── MainActivity.cs
│ ├── Properties
│ │ └── AndroidManifest.xml
│ └── Resources
│ │ ├── drawable
│ │ └── splash_screen.xml
│ │ ├── values-night
│ │ └── colors.xml
│ │ └── values
│ │ ├── colors.xml
│ │ └── styles.xml
├── Avalonia.Test.Sqlite.Desktop
│ ├── Avalonia.Test.Sqlite.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
├── Avalonia.Test.Sqlite
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ │ └── avalonia-logo.ico
│ ├── Avalonia.Test.Sqlite.csproj
│ ├── Migrations
│ │ ├── 20240526132103_init.Designer.cs
│ │ ├── 20240526132103_init.cs
│ │ └── MyDataContextModelSnapshot.cs
│ ├── MyDataContext.cs
│ ├── MyDataContextFactory.cs
│ ├── ViewModels
│ │ ├── MainViewModel.cs
│ │ └── ViewModelBase.cs
│ ├── Views
│ │ ├── MainView.axaml
│ │ ├── MainView.axaml.cs
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.axaml.cs
│ └── mbc_dv_image.cs
├── Avalonia.Test.ThirdNuget.Android
│ ├── Avalonia.Test.ThirdNuget.Android.csproj
│ ├── Icon.png
│ ├── MainActivity.cs
│ ├── Properties
│ │ └── AndroidManifest.xml
│ └── Resources
│ │ ├── drawable
│ │ └── splash_screen.xml
│ │ ├── values-night
│ │ └── colors.xml
│ │ └── values
│ │ ├── colors.xml
│ │ └── styles.xml
├── Avalonia.Test.ThirdNuget.Desktop
│ ├── Avalonia.Test.ThirdNuget.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
├── Avalonia.Test.ThirdNuget
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ │ └── avalonia-logo.ico
│ ├── Avalonia.Test.ThirdNuget.csproj
│ ├── ViewModels
│ │ ├── MainViewModel.cs
│ │ └── ViewModelBase.cs
│ └── Views
│ │ ├── MainView.axaml
│ │ ├── MainView.axaml.cs
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.axaml.cs
├── Avalonia.Test.VLC.Desktop
│ ├── Avalonia.Test.VLC.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
├── Avalonia.Test.VLC
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ │ └── avalonia-logo.ico
│ ├── Avalonia.Test.VLC.csproj
│ ├── ViewModels
│ │ ├── MainViewModel.cs
│ │ └── ViewModelBase.cs
│ └── Views
│ │ ├── MainView.axaml
│ │ ├── MainView.axaml.cs
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.axaml.cs
├── HeBianGu.Test.Controls.Android
│ ├── HeBianGu.Test.Controls.Android.csproj
│ ├── Icon.png
│ ├── MainActivity.cs
│ ├── Properties
│ │ └── AndroidManifest.xml
│ └── Resources
│ │ ├── drawable
│ │ └── splash_screen.xml
│ │ ├── values-night
│ │ └── colors.xml
│ │ └── values
│ │ ├── colors.xml
│ │ └── styles.xml
├── HeBianGu.Test.Controls.Desktop
│ ├── HeBianGu.Test.Controls.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
├── HeBianGu.Test.Controls
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ │ ├── 1.jpg
│ │ ├── 2.jpg
│ │ ├── 3.jpg
│ │ └── avalonia-logo.ico
│ ├── HeBianGu.Test.Controls.csproj
│ ├── Models
│ │ ├── Node.cs
│ │ └── Person.cs
│ ├── ViewModels
│ │ ├── MainViewModel.cs
│ │ └── ViewModelBase.cs
│ └── Views
│ │ ├── MainView.axaml
│ │ ├── MainView.axaml.cs
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.axaml.cs
├── HeBianGu.Test.Main.Android
│ ├── HeBianGu.Test.Main.Android.csproj
│ ├── Icon.png
│ ├── MainActivity.cs
│ ├── Properties
│ │ └── AndroidManifest.xml
│ └── Resources
│ │ ├── drawable
│ │ └── splash_screen.xml
│ │ ├── values-night
│ │ └── colors.xml
│ │ └── values
│ │ ├── colors.xml
│ │ └── styles.xml
├── HeBianGu.Test.Main.Desktop
│ ├── HeBianGu.Test.Main.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
├── HeBianGu.Test.Main
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ │ ├── avalonia-logo.ico
│ │ └── logo.ico
│ ├── HeBianGu.Test.Main.csproj
│ ├── ViewModels
│ │ ├── MainViewModel.cs
│ │ └── ViewModelBase.cs
│ └── Views
│ │ ├── MainView.axaml
│ │ ├── MainView.axaml.cs
│ │ ├── MainWindow.axaml
│ │ └── MainWindow.axaml.cs
├── HeBianGu.Test.Style.Android
│ ├── HeBianGu.Test.Style.Android.csproj
│ ├── Icon.png
│ ├── MainActivity.cs
│ ├── Properties
│ │ └── AndroidManifest.xml
│ └── Resources
│ │ ├── drawable
│ │ └── splash_screen.xml
│ │ ├── values-night
│ │ └── colors.xml
│ │ └── values
│ │ ├── colors.xml
│ │ └── styles.xml
├── HeBianGu.Test.Style.Desktop
│ ├── HeBianGu.Test.Style.Desktop.csproj
│ ├── Program.cs
│ └── app.manifest
└── HeBianGu.Test.Style
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ ├── 1.jpg
│ ├── 2.jpg
│ ├── 3.jpg
│ ├── avalonia-logo.ico
│ └── logo.ico
│ ├── HeBianGu.Test.Style.csproj
│ ├── Models
│ ├── Node.cs
│ └── Person.cs
│ ├── ViewModels
│ ├── MainViewModel.cs
│ └── ViewModelBase.cs
│ └── Views
│ ├── MainView.axaml
│ ├── MainView.axaml.cs
│ ├── MainWindow.axaml
│ └── MainWindow.axaml.cs
├── Themes
└── HeBianGu.AvaloniaUI.Theme
│ ├── AssemblyInfo.cs
│ ├── BackgroundImages
│ ├── Arrow.axaml
│ ├── BackgroundImage.cs
│ ├── Cover.axaml
│ ├── Empty.axaml
│ ├── EmptyBackgroundImageResource.cs
│ ├── Grid.axaml
│ ├── Mountain.axaml
│ ├── Star.axaml
│ └── Wave.axaml
│ ├── Brushes
│ ├── Accent.Light.axaml
│ ├── Accent.axaml
│ ├── AccentColorResource.cs
│ ├── AccentLightColorResource.cs
│ ├── BrushKeys.cs
│ ├── ColorThemeType.cs
│ ├── Dark.Blue.axaml
│ ├── Dark.Gray.axaml
│ ├── Dark.Purple.axaml
│ ├── Dark.Transparent.axaml
│ ├── Dark.axaml
│ ├── DarkBlueColorResource.cs
│ ├── DarkColorResource.cs
│ ├── DarkGrayColorResource.cs
│ ├── DarkPurpleColorResource.cs
│ ├── DarkTransparentColorResource.cs
│ ├── IColorResource.cs
│ ├── Light.Blue.axaml
│ ├── Light.Gray.axaml
│ ├── Light.Purple.axaml
│ ├── Light.Transparent.axaml
│ ├── Light.axaml
│ ├── LightBlueColorResource.cs
│ ├── LightColorResource.cs
│ ├── LightGrayColorResource.cs
│ ├── LightPurpleColorResource.cs
│ └── LightTransparentColorResource.cs
│ ├── Extension.cs
│ ├── FontSizes
│ ├── Default.axaml
│ ├── Default.axaml.cs
│ ├── FontSizeResource.cs
│ ├── FontSizeThemeType.cs
│ ├── IFontSizeResource.cs
│ ├── Large.axaml
│ ├── Large.axaml.cs
│ ├── LargeFontSizeResource.cs
│ ├── Small.axaml
│ └── SmallFontSizeResource.cs
│ ├── HeBianGu.AvaloniaUI.Theme.csproj
│ ├── Layouts
│ ├── Default.axaml
│ ├── Default.axaml.cs
│ ├── ILayoutResource.cs
│ ├── Large.axaml
│ ├── LargeLayoutResource.cs
│ ├── LayoutResource.cs
│ ├── LayoutThemeType.cs
│ ├── Small.axaml
│ └── SmallLayoutResource.cs
│ ├── Provider
│ ├── IResource.cs
│ └── ResourceBase.cs
│ ├── Resources
│ ├── BackgroundImage.axaml
│ ├── Brush.axaml
│ ├── FontSize.axaml
│ └── Layout.axaml
│ └── SystemThemeSetting.cs
└── Windows
├── HeBianGu.AvaloniaUI.DialogWindow
├── AssemblyInfo.cs
├── Commands.cs
├── DialogKeys.cs
├── HeBianGu.AvaloniaUI.DialogWindow.csproj
└── Resources
│ ├── DialogWindow.axaml
│ └── DialogWindow.axaml.cs
└── HeBianGu.AvaloniaUI.MainWindow
├── AssemblyInfo.cs
├── Extension.cs
├── HeBianGu.AvaloniaUI.MainWindow.csproj
├── MainWindowSetting.cs
└── Resources
├── MainWindowBase.axaml
└── MainWindowBase.axaml.cs
/.editorconfig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/.editorconfig
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: NuGet Push
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | jobs:
9 | build:
10 | runs-on: windows-latest
11 | steps:
12 | - name: Checkout
13 | uses: actions/checkout@v2
14 | - name: Setup
15 | uses: actions/setup-dotnet@v1
16 | - name: Pack
17 | run: dotnet build --configuration Release
18 | - name: Push
19 | run: dotnet nuget push .\Source\*\*\bin\Release\*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NuGetAPIKey }} --skip-duplicate --no-symbols 1
20 |
--------------------------------------------------------------------------------
/Document/About.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/About.png
--------------------------------------------------------------------------------
/Document/Accent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Accent.png
--------------------------------------------------------------------------------
/Document/Autority.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Autority.png
--------------------------------------------------------------------------------
/Document/BackgroundImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/BackgroundImage.png
--------------------------------------------------------------------------------
/Document/Dark.Blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Dark.Blue.png
--------------------------------------------------------------------------------
/Document/Dark.Gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Dark.Gray.png
--------------------------------------------------------------------------------
/Document/Dark.Purple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Dark.Purple.png
--------------------------------------------------------------------------------
/Document/Dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Dark.png
--------------------------------------------------------------------------------
/Document/Form.Edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Form.Edit.png
--------------------------------------------------------------------------------
/Document/Form.View.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Form.View.png
--------------------------------------------------------------------------------
/Document/Layout.Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Layout.Small.png
--------------------------------------------------------------------------------
/Document/Light.Accent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Light.Accent.png
--------------------------------------------------------------------------------
/Document/Light.Blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Light.Blue.png
--------------------------------------------------------------------------------
/Document/Light.Gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Light.Gray.png
--------------------------------------------------------------------------------
/Document/Light.Purple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Light.Purple.png
--------------------------------------------------------------------------------
/Document/Light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Light.png
--------------------------------------------------------------------------------
/Document/Login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Login.png
--------------------------------------------------------------------------------
/Document/Message.Dialog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Message.Dialog.png
--------------------------------------------------------------------------------
/Document/Message.Notice.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Message.Notice.png
--------------------------------------------------------------------------------
/Document/Message.Percent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Message.Percent.png
--------------------------------------------------------------------------------
/Document/Message.Snack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Message.Snack.png
--------------------------------------------------------------------------------
/Document/Message.String.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Message.String.png
--------------------------------------------------------------------------------
/Document/Message.Waitting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Message.Waitting.png
--------------------------------------------------------------------------------
/Document/Operation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Operation.png
--------------------------------------------------------------------------------
/Document/Role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Role.png
--------------------------------------------------------------------------------
/Document/Setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Setting.png
--------------------------------------------------------------------------------
/Document/Size.Large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Size.Large.png
--------------------------------------------------------------------------------
/Document/Splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/Splash.png
--------------------------------------------------------------------------------
/Document/User.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/User.png
--------------------------------------------------------------------------------
/Document/logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/logo.ico
--------------------------------------------------------------------------------
/Document/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Document/logo.png
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer.Android/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Apps/Avalonia.App.Explorer.Android/Icon.png
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer.Android/Resources/drawable/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer.Android/Resources/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #212121
4 |
5 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer.Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
5 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer.Android/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Apps/Avalonia.App.Explorer/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer/ViewModels/MainViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace Avalonia.App.Explorer.ViewModels;
2 |
3 | public class MainViewModel : ViewModelBase
4 | {
5 | public string Greeting => "Welcome to Avalonia!";
6 | }
7 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer/ViewModels/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | using ReactiveUI;
2 |
3 | namespace Avalonia.App.Explorer.ViewModels;
4 |
5 | public class ViewModelBase : ReactiveObject
6 | {
7 | }
8 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer/Views/MainView.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace Avalonia.App.Explorer.Views;
4 |
5 | public partial class MainView : UserControl
6 | {
7 | public MainView()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.Explorer/Views/MainWindow.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using HeBianGu.AvaloniaUI.MainWindow;
3 |
4 | namespace Avalonia.App.Explorer.Views;
5 |
6 | public partial class MainWindow : MainWindowBase
7 | {
8 | public MainWindow()
9 | {
10 | InitializeComponent();
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat.Android/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Apps/Avalonia.App.WeChat.Android/Icon.png
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat.Android/Resources/drawable/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat.Android/Resources/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #212121
4 |
5 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat.Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
5 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat.Android/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/App.axaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Assets/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Apps/Avalonia.App.WeChat/Assets/1.jpg
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Apps/Avalonia.App.WeChat/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Assets/logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Apps/Avalonia.App.WeChat/Assets/logo.ico
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/Address.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.DialogMessage;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class Address : InfoItemBase
6 | {
7 | public override async void ShowInfo(object p)
8 | {
9 | await AdornerDialog.ShowPresenter(new ShowMy(new Function()), x => x.Title = this.Name);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/AddressItem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel.DataAnnotations;
3 | using System.Linq;
4 |
5 | namespace Avalonia.App.WeChat.Models
6 | {
7 | [Display(Name = "通讯录")]
8 | public class AddressItem : TabItemBindableBase
9 | {
10 | public AddressItem()
11 | {
12 | this.Collection = Enumerable.Range(0, 20).Select(x => new Address()).ToObservable();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/FindItem.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | [Display(Name = "发现")]
6 | public class FindItem : TabItemBindableBase
7 | {
8 |
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/FriendGroup.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.DialogMessage;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class FriendGroup : Function
6 | {
7 | public override async void ShowInfo(object p)
8 | {
9 | await AdornerDialog.ShowPresenter(new ShowFriendGroup(this), x => x.Title = this.Name);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/Function.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.DialogMessage;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class Function : InfoItemBase
6 | {
7 | public override async void ShowInfo(object p)
8 | {
9 | await AdornerDialog.ShowPresenter(new ShowMy(this), x => x.Title = this.Name);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/GetRandomRangeMarkupExtension.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 |
4 | namespace Avalonia.App.WeChat.Models
5 | {
6 | public class GetRandomRangeMarkupExtension : Avalonia.Markup.Xaml.MarkupExtension
7 | {
8 | public int Count { get; set; } = 100;
9 |
10 | public override object ProvideValue(IServiceProvider serviceProvider)
11 | {
12 | return Enumerable.Range(0, Random.Shared.Next(0, this.Count)).ToList();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/ITabItem.cs:
--------------------------------------------------------------------------------
1 | namespace Avalonia.App.WeChat.Models
2 | {
3 | public interface ITabItem
4 | {
5 |
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/InfoItemBase.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.DemoData;
2 | using HeBianGu.AvaloniaUI.Mvvm;
3 |
4 | namespace Avalonia.App.WeChat.Models
5 | {
6 | public abstract class InfoItemBase : Student
7 | {
8 | public RelayCommand ShowCommand => new RelayCommand(l =>
9 | {
10 | this.ShowInfo(l);
11 | });
12 |
13 |
14 | public abstract void ShowInfo(object p);
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/Message.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.DialogMessage;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class Message : InfoItemBase
6 | {
7 | public override async void ShowInfo(object p)
8 | {
9 | await AdornerDialog.ShowPresenter(new ShowMessage(this), x => x.Title = this.Name);
10 |
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/MessageItem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel.DataAnnotations;
3 | using System.Linq;
4 |
5 | namespace Avalonia.App.WeChat.Models
6 | {
7 | [Display(Name = "微信")]
8 | public class MessageItem : TabItemBindableBase
9 | {
10 | public MessageItem()
11 | {
12 | this.Collection = Enumerable.Range(0, 20).Select(x => new Message() { }).ToObservable();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/MyItem.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | [Display(Name = "我")]
6 | public class MyItem : TabItemBindableBase
7 | {
8 |
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/ReciveMessageItem.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Mvvm;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class ReciveMessageItem : BindableBase
6 | {
7 | public string Message { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/SendMessageItem.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Mvvm;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class SendMessageItem : BindableBase
6 | {
7 | public string Message { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/SettingFunction.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.DialogMessage;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class SettingFunction : Function
6 | {
7 | public override async void ShowInfo(object p)
8 | {
9 | await AdornerDialog.ShowPresenter(new ShowSetting(this), x => x.Title = this.Name);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/ShowAdress.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Mvvm;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class ShowAddress : ModelBindable
6 | {
7 | public ShowAddress(Address model) : base(model)
8 | {
9 |
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/ShowFindItem.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Mvvm;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class ShowFindItem : ModelBindable
6 | {
7 | public ShowFindItem(Function model) : base(model)
8 | {
9 |
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/ShowFriendGroup.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Mvvm;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class ShowFriendGroup : ModelBindable
6 | {
7 | public ShowFriendGroup(FriendGroup t) : base(t)
8 | {
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/ShowMessage.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Mvvm;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class ShowMessage : ModelBindable
6 | {
7 | public ShowMessage(Message model) : base(model)
8 | {
9 |
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/ShowMy.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Mvvm;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class ShowMy : ModelBindable
6 | {
7 | public ShowMy(Function model) : base(model)
8 | {
9 |
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/ShowSetting.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Mvvm;
2 |
3 | namespace Avalonia.App.WeChat.Models
4 | {
5 | public class ShowSetting : ModelBindable
6 | {
7 | public ShowSetting(SettingFunction model) : base(model)
8 | {
9 |
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Models/TimeValueConverter.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.ValueConverter;
2 | using System;
3 | using System.Globalization;
4 |
5 | namespace Avalonia.App.WeChat.Models
6 | {
7 | public class TimeValueConverter : MarkupValueConverterBase
8 | {
9 | public override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
10 | {
11 | if (value is DateTime time)
12 | return time.ToString("MM月dd日");
13 | return value;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/ViewModels/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | using ReactiveUI;
2 |
3 | namespace Avalonia.App.WeChat.ViewModels;
4 |
5 | public class ViewModelBase : ReactiveObject
6 | {
7 | }
8 |
--------------------------------------------------------------------------------
/Source/Apps/Avalonia.App.WeChat/Views/MainWindow.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using HeBianGu.AvaloniaUI.MainWindow;
3 |
4 | namespace Avalonia.App.WeChat.Views;
5 |
6 | public partial class MainWindow : Window
7 | {
8 | public MainWindow()
9 | {
10 | InitializeComponent();
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.DrawerBox/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Metadata;
2 | using HeBianGu.AvaloniaUI.Application;
3 |
4 | [assembly: ApplicationStylesLoader]
5 | [assembly: ApplicationResourceLoader]
6 |
7 | [assembly: XmlnsDefinition("https://github.com/HeBianGu", "HeBianGu.AvaloniaUI.DrawerBox")]
8 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")]
9 |
10 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "HeBianGu.AvaloniaUI.DrawerBox")]
11 | [assembly: XmlnsPrefix("https://github.com/avaloniaui", "h")]
12 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.DrawerBox/Extension.cs:
--------------------------------------------------------------------------------
1 |
2 | using HeBianGu.AvaloniaUI.Application;
3 | using Microsoft.Extensions.DependencyInjection;
4 | using Microsoft.Extensions.DependencyInjection.Extensions;
5 | using System.Collections.Generic;
6 |
7 | namespace System
8 | {
9 | public static class Extension
10 | {
11 | public static IApplicationAxamlLoader UseDrawerBox(this IApplicationAxamlLoader builder)
12 | {
13 | return builder;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.DrawerBox/Resources/CloseDrawerCommand.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Ioc;
2 |
3 | namespace HeBianGu.AvaloniaUI.DrawerBox
4 | {
5 | public class CloseDrawerCommand : IocMarkupCommandBase
6 | {
7 | public override void Execute(object parameter)
8 | {
9 | if (parameter is DrawerBox drawer)
10 | drawer.Close();
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.DrawerBox/Resources/ShowDrawerCommand.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Ioc;
2 |
3 | namespace HeBianGu.AvaloniaUI.DrawerBox
4 | {
5 | public class ShowDrawerCommand : IocMarkupCommandBase
6 | {
7 | public override void Execute(object parameter)
8 | {
9 | if (parameter is DrawerBox drawer)
10 | drawer.Show();
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.ExploreBox/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Metadata;
2 | using HeBianGu.AvaloniaUI.Application;
3 |
4 | [assembly: ApplicationStylesLoader]
5 | [assembly: ApplicationResourceLoader]
6 |
7 | [assembly: XmlnsDefinition("https://github.com/HeBianGu", "HeBianGu.AvaloniaUI.ExploreBox")]
8 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")]
9 |
10 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "HeBianGu.AvaloniaUI.ExploreBox")]
11 | [assembly: XmlnsPrefix("https://github.com/avaloniaui", "h")]
12 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.ExploreBox/CustomPath.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Mvvm;
2 |
3 | namespace HeBianGu.AvaloniaUI.ExploreBox
4 | {
5 | public class CustomPath : DisplayBindableBase
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.ExploreBox/ExploreIsFileConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using HeBianGu.AvaloniaUI.ValueConverter;
3 | using System.Globalization;
4 |
5 | namespace HeBianGu.AvaloniaUI.ExploreBox
6 | {
7 | public class ExploreIsFileConverter : MarkupValueConverterBase
8 | {
9 | private IExploreTree _exploreTree = new ExploreTree();
10 | public override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
11 | {
12 | return _exploreTree.IsFile(value);
13 | }
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.ExploreBox/Extension.cs:
--------------------------------------------------------------------------------
1 |
2 | using HeBianGu.AvaloniaUI.Application;
3 | using Microsoft.Extensions.DependencyInjection;
4 | using Microsoft.Extensions.DependencyInjection.Extensions;
5 | using System.Collections.Generic;
6 |
7 | namespace System
8 | {
9 | public static class Extension
10 | {
11 | public static IApplicationAxamlLoader UseExploreBox(this IApplicationAxamlLoader builder)
12 | {
13 | return builder;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.ExploreBox/IExploreTree.cs:
--------------------------------------------------------------------------------
1 | using HeBianGu.AvaloniaUI.Treeable;
2 |
3 | namespace HeBianGu.AvaloniaUI.ExploreBox
4 | {
5 | public interface IExploreTree : ITreeable
6 | {
7 | string SearchPattern { get; set; }
8 | bool IsFile(object current);
9 | object Get(string path);
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.Form/Attribute/PropertyAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control
2 |
3 | using System;
4 |
5 | namespace HeBianGu.AvaloniaUI.Form
6 | {
7 | [AttributeUsage(AttributeTargets.Property, Inherited = true, AllowMultiple = false)]
8 | public class PropertyAttribute : Attribute
9 | {
10 | public bool UsePresenter { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.Form/Attribute/StyleAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control
2 |
3 | namespace HeBianGu.AvaloniaUI.Form
4 | {
5 | //public class StyleAttribute : Attribute
6 | //{
7 | // public string Icon { get; set; }
8 | //}
9 | }
10 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.Form/Attribute/UnitAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control
2 |
3 | using System;
4 |
5 | namespace HeBianGu.AvaloniaUI.Form
6 | {
7 | [AttributeUsage(AttributeTargets.Property, Inherited = true, AllowMultiple = false)]
8 | public class UnitAttribute : Attribute
9 | {
10 | public UnitAttribute(string unit)
11 | {
12 | this.Unit = unit;
13 | }
14 | public string Unit { get; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.Form/DataTemplates/BoolNullablePropertyItem.axaml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.Form/DataTemplates/BoolNullablePropertyItem.axaml.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control
2 |
3 | using System.Collections;
4 | using System.Reflection;
5 |
6 | namespace HeBianGu.AvaloniaUI.Form
7 | {
8 | public class BoolNullablePropertyItem : ObjectPropertyItem
9 | {
10 | public BoolNullablePropertyItem(PropertyInfo property, object obj) : base(property, obj)
11 | {
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.Form/DataTemplates/BoolPropertyItem.axaml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.Form/DataTemplates/BoolPropertyItem.axaml.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control
2 |
3 | using System.Collections;
4 | using System.Reflection;
5 |
6 | namespace HeBianGu.AvaloniaUI.Form
7 | {
8 | public class BoolPropertyItem : ObjectPropertyItem
9 | {
10 | public BoolPropertyItem(PropertyInfo property, object obj) : base(property, obj)
11 | {
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.Form/DataTemplates/ComboBoxPropertyItem.axaml:
--------------------------------------------------------------------------------
1 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/Source/Controls/HeBianGu.AvaloniaUI.Form/DataTemplates/ComboBoxPropertyItem.axaml.cs:
--------------------------------------------------------------------------------
1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control
2 |
3 | using System;
4 | using System.Collections;
5 | using System.Reflection;
6 |
7 | namespace HeBianGu.AvaloniaUI.Form
8 | {
9 | public class ComboBoxPropertyItem : SelectSourcePropertyItem