├── .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 10 | { 11 | public ComboBoxPropertyItem(PropertyInfo property, object obj) : base(property, obj) 12 | { 13 | 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/DataTemplates/StaticFormPresenter.axaml: -------------------------------------------------------------------------------- 1 | 5 | 9 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/DataTemplates/StaticFormPresenter.axaml.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Form 2 | { 3 | public class StaticFormPresenter : FormPresenter 4 | { 5 | public StaticFormPresenter(object value) : base(value) 6 | { 7 | 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/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 UseForm(this IApplicationAxamlLoader builder) 12 | { 13 | return builder; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/PropertyItem/Base/IPropertyViewItemPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Form 4 | { 5 | 6 | public interface IPropertyViewItemPresenter : IPropertyItemPresenter 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/PropertyItem/BrushPropertyItem.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using Avalonia.Media; 4 | using System.Reflection; 5 | 6 | namespace HeBianGu.AvaloniaUI.Form 7 | { 8 | public class BrushPropertyItem : ObjectPropertyItem 9 | { 10 | public BrushPropertyItem(PropertyInfo property, object obj) : base(property, obj) 11 | { 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/PropertyItem/ClearPathTextPropertyItem.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System.Reflection; 4 | 5 | namespace HeBianGu.AvaloniaUI.Form 6 | { 7 | //public class ClearPathTextPropertyItem : OpenClearPathTextPropertyItem 8 | //{ 9 | // public ClearPathTextPropertyItem(PropertyInfo property, object obj) : base(property, obj) 10 | // { 11 | 12 | // } 13 | 14 | //} 15 | 16 | } 17 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/PropertyItem/ColorPropertyItem.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using Avalonia.Media; 4 | using System.Reflection; 5 | 6 | namespace HeBianGu.AvaloniaUI.Form 7 | { 8 | public class ColorPropertyItem : ObjectPropertyItem 9 | { 10 | public ColorPropertyItem(PropertyInfo property, object obj) : base(property, obj) 11 | { 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/PropertyItem/DateTimePropertyItem.xaml.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | using System.Reflection; 5 | 6 | namespace HeBianGu.AvaloniaUI.Form 7 | { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/PropertyItem/EnumPropertyItem.xaml.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | using System.Reflection; 5 | 6 | namespace HeBianGu.AvaloniaUI.Form 7 | { 8 | public class EnumPropertyItem : ObjectPropertyItem 9 | { 10 | public EnumPropertyItem(PropertyInfo property, object obj) 11 | : base(property, obj) 12 | { 13 | } 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Form/PropertyItem/PresenterPropertyItem.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System.Reflection; 4 | 5 | namespace HeBianGu.AvaloniaUI.Form 6 | { 7 | public class PresenterPropertyItem : ObjectPropertyItem 8 | { 9 | public PresenterPropertyItem(PropertyInfo property, object obj) : base(property, obj) 10 | { 11 | 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.MultiComboBox/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.MultiComboBox")] 8 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")] 9 | 10 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "HeBianGu.AvaloniaUI.MultiComboBox")] 11 | [assembly: XmlnsPrefix("https://github.com/avaloniaui", "h")] 12 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.MultiComboBox/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 UseMultiComboBox(this IApplicationAxamlLoader builder) 12 | { 13 | return builder; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Step/DataTemplates/IStepItemPresenter.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Ioc; 2 | 3 | namespace HeBianGu.AvaloniaUI.Step 4 | { 5 | public interface IStepItemPresenter: IPresenter 6 | { 7 | string DisplayName { get; set; } 8 | string Message { get; set; } 9 | int Percent { get; set; } 10 | StepState State { get; set; } 11 | double Width { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Step/DataTemplates/StepItemVerticalPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Step 2 | { 3 | public class StepItemVerticalPresenter : StepItemPresenter 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.AvaloniaUI.Step/DataTemplates/StepState.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Step 2 | { 3 | public enum StepState 4 | { 5 | Error = -1, 6 | Ready = 0, 7 | Running = 1, 8 | Success = 2 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.Controls.TemplateControl/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Metadata; 2 | using HeBianGu.AvaloniaUI.Application; 3 | 4 | [assembly: ApplicationStylesLoader] 5 | 6 | [assembly: XmlnsDefinition("https://github.com/HeBianGu", "HeBianGu.Controls.TemplateControl")] 7 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")] 8 | 9 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "HeBianGu.Controls.TemplateControl")] 10 | [assembly: XmlnsPrefix("https://github.com/avaloniaui", "h")] 11 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.Controls.TemplateControl/HeBianGu.Controls.TemplateControl.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Source/Controls/HeBianGu.Controls.TemplateControl/MyButton.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia; 2 | using Avalonia.Controls; 3 | using Avalonia.Controls.Primitives; 4 | using System; 5 | 6 | namespace HeBianGu.Controls.TemplateControl 7 | { 8 | public class MyButton : Button 9 | { 10 | // `MyButton` will be styled as a standard `Button` control. 11 | protected override Type StyleKeyOverride => typeof(Button); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Crypt/ICryptService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface ICryptService 6 | { 7 | string Encrypt(string value); 8 | string Decrypt(string value); 9 | } 10 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Crypt/IocCrypt.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class IocCrypt : Ioc 8 | { 9 | 10 | } 11 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/DataBase/EntityBase.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | using System.ComponentModel.DataAnnotations.Schema; 3 | 4 | namespace HeBianGu.AvaloniaUI.Ioc 5 | { 6 | public abstract class EntityBase : IEntityBase 7 | { 8 | /// 9 | /// 主键 10 | /// 11 | [Browsable(false)] 12 | [ReadOnly(true)] 13 | [Column("id", Order = 0)] 14 | public virtual TPrimaryKey ID { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/DataBase/GuidEntityBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public abstract class GuidEntityBase : EntityBase 6 | { 7 | public GuidEntityBase() 8 | { 9 | this.ID = Guid.NewGuid(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/DataBase/IDbConnectService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IDbConnectService : ISplashLoad 6 | { 7 | bool TryConnect(out string message); 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/DataBase/IEntityBase.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IEntityBase 4 | { 5 | TPrimaryKey ID { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/DataBase/IStringRepository.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IStringRepository : IRepository where TEntity : StringEntityBase 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/DataBase/StringEntityBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | /// 6 | /// 定义默认主键类型为Guid的实体基类 7 | /// 8 | public abstract class StringEntityBase : EntityBase 9 | { 10 | public StringEntityBase() 11 | { 12 | this.ID = Guid.NewGuid().ToString(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Feedback/IFeedbackViewPresenter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IFeedbackViewPresenter 6 | { 7 | string Contact { get; set; } 8 | string Text { get; set; } 9 | string Title { get; set; } 10 | string MailAccount { get; } 11 | ObservableCollection Files { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Guide/IGuideService.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using System.Windows; 3 | 4 | namespace HeBianGu.AvaloniaUI.Ioc 5 | { 6 | public interface IGuideService 7 | { 8 | void Show(Control owner = null); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Guide/ShowGuideCommand.cs: -------------------------------------------------------------------------------- 1 |  2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Ioc 5 | { 6 | public class ShowGuideCommand : IocMarkupCommandBase 7 | { 8 | public override void Execute(object parameter) 9 | { 10 | Ioc.Instance.Show(); 11 | } 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/HeBianGu.AvaloniaUI.Ioc.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/IApplicationBuilder.cs: -------------------------------------------------------------------------------- 1 | namespace System 2 | { 3 | public interface IApplicationBuilder 4 | { 5 | 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/IChartDataProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace System 4 | { 5 | public interface IChartDataProvider 6 | { 7 | IEnumerable> GetData(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/IDataSource.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | 6 | namespace HeBianGu.AvaloniaUI.Ioc 7 | { 8 | public interface IDataSource 9 | { 10 | IEnumerable Collection { get; } 11 | void Add(params T[] ts); 12 | void Delete(params T[] ts); 13 | event EventHandler CollectionChanged; 14 | } 15 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/IDesignable.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IDesignable : ILayoutable 4 | { 5 | int Column { get; set; } 6 | int ColumnSpan { get; set; } 7 | bool IsMouseOver { get; set; } 8 | bool IsSelected { get; set; } 9 | bool IsVisible { get; set; } 10 | int Row { get; set; } 11 | int RowSpan { get; set; } 12 | object Clone(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/IExcelService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace HeBianGu.AvaloniaUI.Ioc 5 | { 6 | public interface IExcelService 7 | { 8 | bool Export(IEnumerable collection, string path, string sheetName, out string message); 9 | IEnumerable Read(string filePath, Func convert, out string message); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/IZoombox.cs: -------------------------------------------------------------------------------- 1 | using Avalonia; 2 | using System.Windows; 3 | 4 | namespace HeBianGu.AvaloniaUI.Ioc 5 | { 6 | public interface IZoombox 7 | { 8 | void FillToBounds(); 9 | void FitToBounds(); 10 | void Zoom(double percentage); 11 | void Zoom(double percentage, Point relativeTo); 12 | void ZoomTo(double scale); 13 | void ZoomTo(double scale, Point relativeTo); 14 | void ZoomTo(Point position); 15 | void ZoomTo(Rect region); 16 | } 17 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Ioc/IocExtension.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using System; 3 | using System.Windows.Markup; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class IocExtension : MarkupExtension 8 | { 9 | public Type Type { get; set; } 10 | public override object ProvideValue(IServiceProvider serviceProvider) 11 | { 12 | return System.Ioc.GetService(this.Type); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Ioc/IocThrowIfNone.cs: -------------------------------------------------------------------------------- 1 | namespace System 2 | { 3 | public abstract class IocThrowIfNone 4 | { 5 | public static Interface Instance => Ioc.GetService(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Ioc/LazyInstance.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public class LazyInstance where T : new() 6 | { 7 | //public static T Instance = new Lazy(() => new T()).Value; 8 | public static T Instance = new T(); 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Logger/ILogService.cs: -------------------------------------------------------------------------------- 1 | namespace System 2 | { 3 | public interface ILogService 4 | { 5 | void Debug(params string[] messages); 6 | void Error(params Exception[] messages); 7 | void Error(params string[] messages); 8 | void Fatal(params string[] messages); 9 | void Fatal(params Exception[] messages); 10 | void Info(params string[] messages); 11 | void Trace(params string[] messages); 12 | void Warn(params string[] messages); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Logger/IocLog.cs: -------------------------------------------------------------------------------- 1 | namespace System 2 | { 3 | public class IocLog : Ioc 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Logger/LogType.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public enum LogType 4 | { 5 | Debug, 6 | Info, 7 | Error, 8 | Warn, 9 | Fatal 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/Author/Authority.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public class Authority : IAuthority 6 | { 7 | public string ID { get; set; } 8 | public string Name { get; set; } 9 | public string GroupName { get; set; } 10 | public bool IsAuthority { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/Author/IAuthor.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IAuthor 6 | { 7 | string ID { get; } 8 | string Name { get; } 9 | } 10 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/Author/IAuthority.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IAuthority 6 | { 7 | string ID { get; } 8 | string Name { get; } 9 | string GroupName { get; } 10 | bool IsAuthority { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/Author/IAuthorityViewPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IAuthorityViewPresenter : IPresenter 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/IIdentityService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface ILoginService 6 | { 7 | IUser User { get; } 8 | bool Login(string name, string password, out string message); 9 | bool Logout(out string message); 10 | } 11 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/ILoginViewPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface ILoginViewPresenter : IPresenter 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/ILoginWindow.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using Avalonia.Controls; 4 | using Avalonia.Interactivity; 5 | using System; 6 | 7 | namespace HeBianGu.AvaloniaUI.Ioc 8 | { 9 | public interface ILoginWindow 10 | { 11 | event EventHandler Logined; 12 | Window GetWindow(); 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/ILoginedSplashLoad.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | /// 6 | /// 登录成功后会预加载的接口 7 | /// 8 | public interface ILoginedSplashLoad : ISplashLoad 9 | { 10 | 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/ILoginedSplashViewPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface ILoginedSplashViewPresenter 4 | { 5 | string Message { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/IRegisterService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IRegisterService 6 | { 7 | bool Register(string mail, string account, string password, out string message); 8 | bool ResetPassword(string mail, string account, string password, out string message); 9 | } 10 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/Role/IRole.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IRole 6 | { 7 | string ID { get; } 8 | string Name { get; set; } 9 | bool IsValid(string authorId); 10 | } 11 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/Role/IRoleViewPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IRoleViewPresenter : IPresenter 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/User/IUser.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IUser 6 | { 7 | string ID { get; } 8 | string Account { get; set; } 9 | string Password { get; set; } 10 | string Name { get; set; } 11 | bool IsValid(string authorId); 12 | } 13 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Login/User/IUserViewPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IUserViewPresenter : IPresenter 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Mail/IMailLogService.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IMailLogService 4 | { 5 | bool Send(string subject, string body, out string message); 6 | } 7 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Mail/IMailService.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IMailService 6 | { 7 | bool Send(MailMessageItem messageItem, bool isBodyHtml, out string message); 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/Commands/Command.ShowEdit.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public class ShowEditCommand : MessageCommandBase 6 | { 7 | public object Value { get; set; } 8 | public override void Execute(object parameter) 9 | { 10 | IocMessage.Form.ShowEdit(Value ?? parameter); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/Commands/Command.ShowView.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public class ShowViewCommand : MessageCommandBase 6 | { 7 | public object Value { get; set; } 8 | public override void Execute(object parameter) 9 | { 10 | IocMessage.Form.ShowView(Value); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/DialogButton.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public enum DialogButton 6 | { 7 | Sumit, 8 | Cancel, 9 | None, 10 | SumitAndCancel 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/DialogCommand.Cancel.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public class CancelDialogCommand : DialogCommandBase 6 | { 7 | public override void Execute(object parameter) 8 | { 9 | IDialog dialog = this.GetDialog(parameter); 10 | dialog.DialogResult = false; 11 | dialog.Close(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/DialogCommand.Close.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public class CloseDialogCommand : DialogCommandBase 6 | { 7 | public override void Execute(object parameter) 8 | { 9 | IDialog dialog = this.GetDialog(parameter); 10 | dialog.Close(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/DialogCommand.Sumit.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public class SumitDialogCommand : DialogCommandBase 6 | { 7 | public override void Execute(object parameter) 8 | { 9 | IDialog dialog = this.GetDialog(parameter); 10 | dialog.DialogResult = true; 11 | dialog.Close(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/IAdornerDialogPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using Avalonia.Controls; 4 | using System.Threading.Tasks; 5 | 6 | namespace HeBianGu.AvaloniaUI.Ioc 7 | { 8 | public interface IAdornerDialogPresenter : IDialog, IPresenter 9 | { 10 | object Presenter { get; set; } 11 | Task Cancel(); 12 | Task ShowDialog(Window owner = null); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/ICancelable.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface ICancelable 6 | { 7 | bool IsCancel { get; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/IDialogMessageService.Adorner.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IAdornerDialogMessageService : IDialogMessageService 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/IDialogMessageService.Window.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public interface IWindowDialogMessageService : IDialogMessageService 8 | { 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/IPercentPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IPercentPresenter : IPresenter 6 | { 7 | int Value { set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/IStringPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IStringPresenter : IPresenter 6 | { 7 | string Value { set; } 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Dialog/IocDialog.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class IocDialog : Ioc 8 | { 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notice/INoticeItemPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface INoticeItemPresenter : IPresenter 6 | { 7 | string Message { get; set; } 8 | string Time { get; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notice/IPercentNoticeItemPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IPercentNoticeItemPresenter : INoticeItemPresenter 6 | { 7 | double Value { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notice/NoticeMessage.Command.Base.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public abstract class ShowNoticeMessageCommandBase : IocMarkupCommandBase 8 | { 9 | public string Message { get; set; } = "默认消息"; 10 | 11 | public override void Execute(object parameter) 12 | { 13 | Ioc.Instance.ShowInfo(this.Message); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notice/NoticeMessage.Command.ShowError.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowErrorNoticeMessageCommand : ShowNoticeMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowError(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notice/NoticeMessage.Command.ShowFatal.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowFatalNoticeMessageCommand : ShowNoticeMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowFatal(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notice/NoticeMessage.Command.ShowInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowInfoNoticeMessageCommand : ShowNoticeMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowInfo(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notice/NoticeMessage.Command.ShowSuccess.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowSuccessNoticeMessageCommand : ShowNoticeMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowSuccess(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notice/NoticeMessage.Command.ShowWarn.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowWarnNoticeMessageCommand : ShowNoticeMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowWarn(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notify/ISystemNotifyMessage.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface ISystemNotifyMessage 6 | { 7 | void Show(string message, string title = null, NotifyBalloonIcon tipIcon = NotifyBalloonIcon.Info, int timeout = 1000); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Notify/NotifyBalloonIcon.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public enum NotifyBalloonIcon 6 | { 7 | None, 8 | Info, 9 | Warning, 10 | Error, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Snack/IPercentSnackItemPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IPercentSnackItemPresenter : ISnackItemPresenter 6 | { 7 | double Value { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Snack/ISnackItemPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface ISnackItemPresenter : IPresenter 6 | { 7 | string Message { get; set; } 8 | string Time { get; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Snack/NoticeMessage.Command.Base.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public abstract class ShowSnackMessageCommandBase : IocMarkupCommandBase 8 | { 9 | public string Message { get; set; } = "默认消息"; 10 | 11 | public override void Execute(object parameter) 12 | { 13 | Ioc.Instance.ShowInfo(this.Message); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Snack/NoticeMessage.Command.ShowError.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowErrorSnackMessageCommand : ShowSnackMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowError(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Snack/NoticeMessage.Command.ShowFatal.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowFatalSnackMessageCommand : ShowSnackMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowFatal(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Snack/NoticeMessage.Command.ShowInfo.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowInfoSnackMessageCommand : ShowSnackMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowInfo(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Snack/NoticeMessage.Command.ShowSuccess.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowSuccessSnackMessageCommand : ShowSnackMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowSuccess(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Message/Snack/NoticeMessage.Command.ShowWarn.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class ShowWarnSnackMessageCommand : ShowSnackMessageCommandBase 8 | { 9 | public override void Execute(object parameter) 10 | { 11 | Ioc.Instance.ShowWarn(this.Message); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Operation/IOperationService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System.Runtime.CompilerServices; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public interface IOperationService 8 | { 9 | void Log(string title, string message = null, OperationType operationType = OperationType.Default, bool result = true, [CallerMemberName] string methodName = null); 10 | } 11 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Operation/IOperationViewPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IOperationViewPresenter : IPresenter 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Operation/OperationType.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public enum OperationType 6 | { 7 | Default = 0, 8 | Add, 9 | Update, 10 | Delete, 11 | Search 12 | } 13 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Presenter/IAboutButtonPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IAboutButtonPresenter 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Presenter/IAboutViewPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IAboutViewPresenter : IPresenter 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Presenter/IPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IPresenter 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Project/IProjectItem.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public interface IProjectItem : ISaveable, ILoadable 8 | { 9 | DateTime UpdateTime { get; set; } 10 | bool IsFixed { get; set; } 11 | string Title { get; set; } 12 | string Path { get; set; } 13 | bool Close(out string message); 14 | bool Delete(out string message); 15 | } 16 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Project/IProjectViewPresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IProjectViewPresenter 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Project/IocProject.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class IocProject : Ioc 8 | { 9 | 10 | } 11 | 12 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Project/ProjectCommand.Save.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public class ProjectSaveCommand : IocMarkupCommandBase 6 | { 7 | public override void Execute(object parameter) 8 | { 9 | IocProject.Instance.Save(out string message); 10 | } 11 | public override bool CanExecute(object parameter) 12 | { 13 | return IocProject.Instance != null; 14 | } 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Project/ProjectSaveMode.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public enum ProjectSaveMode 6 | { 7 | OnAppExit = 0, 8 | OnProjectChanged 9 | } 10 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Revertible/Command.Redo.cs: -------------------------------------------------------------------------------- 1 |  2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Ioc 5 | { 6 | public class RedoCommand : IocMarkupCommandBase 7 | { 8 | public override void Execute(object parameter) 9 | { 10 | Ioc.Instance?.Redo(); 11 | } 12 | 13 | public override bool CanExecute(object parameter) 14 | { 15 | return Ioc.Instance?.CanRedo == true; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Revertible/Command.Undo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public class UndoCommand : IocMarkupCommandBase 6 | { 7 | public override void Execute(object parameter) 8 | { 9 | Ioc.Instance?.Undo(); 10 | } 11 | public override bool CanExecute(object parameter) 12 | { 13 | return Ioc.Instance?.CanUndo == true; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Revertible/IRevertible.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IRevertible 6 | { 7 | string Name { get; } 8 | void AddAction(Action redo, Action undo); 9 | void Undo(); 10 | void Redo(); 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Revertible/IRevertibleService.T.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | 4 | public interface IRevertibleService : IRevertibleService 5 | { 6 | 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Revertible/IocRevertible.T.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | 4 | public class IocRevertible : IocRevertibleBase> 5 | { 6 | 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Revertible/IocRevertible.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public class IocRevertible : IocRevertibleBase 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/ICloneService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface ICloneService 6 | { 7 | object Clone(object o); 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/IJsonSerializerService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System.Text.Json; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public interface IJsonSerializerService : ISerializerService 8 | { 9 | 10 | } 11 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/ISerializerService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public interface ISerializerService 8 | { 9 | object Load(string filePath, Type type); 10 | T Load(string filePath); 11 | void Save(string filePath, object sourceObj, string xmlRootName = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/IXmlSerializerService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IXmlSerializerService : ISerializerService 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/IXmlable.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | using System.Reflection; 5 | using System.Xml; 6 | 7 | namespace HeBianGu.AvaloniaUI.Ioc 8 | { 9 | public interface IXmlable 10 | { 11 | void FromXml(XmlElement xmlEle, XmlDocument cnt, Func match = null); 12 | 13 | void ToXml(XmlElement xmlEle, XmlDocument cnt, Func match = null); 14 | } 15 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/IocSerializer.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class IocSerializer : Ioc 8 | { 9 | 10 | } 11 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/JsonCloneService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System.Text.Json; 4 | 5 | namespace HeBianGu.AvaloniaUI.Ioc 6 | { 7 | public class JsonCloneService : ICloneService 8 | { 9 | public object Clone(object o) 10 | { 11 | string txt = JsonSerializer.Serialize(o); 12 | return JsonSerializer.Deserialize(txt, o.GetType()); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/Meta/IMetaSetting.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | //public interface IMetaSetting 4 | //{ 5 | 6 | //} 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/Meta/IMetaSettingSerilize.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IMetaSetting 4 | { 5 | string ID { get; set; } 6 | void Load(); 7 | bool Save(out string message); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/Meta/IMetaSettingService.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IMetaSettingService 4 | { 5 | void Serilize(object setting, string id); 6 | T Deserilize(string id); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/Web/IWebJsonSerializerService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IWebJsonSerializerService 6 | { 7 | T Load(string uri, out string message); 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/Web/IWebXmlSerializerService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IWebXmlSerializerService 6 | { 7 | T Load(string uri, out string message); 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Serialize/Web/IocXmlWebSerializer.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using HeBianGu.AvaloniaUI.Ioc; 4 | using System; 5 | 6 | namespace HeBianGu.AvaloniaUI.Ioc 7 | { 8 | public class IocXmlWebSerializer : Ioc 9 | { 10 | 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Setting/IDefaultable.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IDefaultable 4 | { 5 | void LoadDefault(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Setting/ISettable.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface ISettable 4 | { 5 | int Order { get; } 6 | string Name { get; } 7 | string GroupName { get; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Setting/ISettingButtonPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface ISettingButtonPresenter 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Setting/ISettingOption.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface ISettingOption 4 | { 5 | string Name { get; set; } 6 | string GroupName { get; set; } 7 | string Description { get; set; } 8 | string Icon { get; set; } 9 | int Order { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Setting/ISettingViewPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface ISettingViewPresenter : IPresenter 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Setting/ISettingViewPresenterOption.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface ISettingViewPresenterOption : ISettingDataManagerOption 4 | { 5 | double TitleWidth { get; set; } 6 | bool UsePassword { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/IAppLoadService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IAppLoadService : ISplashLoad 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/IAppSaveService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IAppSaveService : ISplashSave 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/IDbDisconnectService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IDbDisconnectService : ISplashSave 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/ILicenseLoadService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface ILicenseLoadService : ISplashLoad 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/ILoadable.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface ILoadable 6 | { 7 | bool Load(out string message); 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/ISaveable.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface ISaveable 6 | { 7 | bool Save(out string message); 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/ISplashLoad.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | /// 6 | /// 项目启动会预加载的接口 7 | /// 8 | public interface ISplashLoad : ILoadable 9 | { 10 | string Name { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/ISplashSave.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | /// 6 | /// 项目关闭会预保存的接口 7 | /// 8 | public interface ISplashSave : ISaveable 9 | { 10 | string Name { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/ISplashScreenViewPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface ISplashScreenViewPresenter : IPresenter 4 | { 5 | string Message { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/SplashScreen/ISplashScreenWindow.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using Avalonia.Controls; 4 | using Avalonia.Interactivity; 5 | using System; 6 | 7 | namespace HeBianGu.AvaloniaUI.Ioc 8 | { 9 | public interface ISplashScreenWindow 10 | { 11 | event EventHandler Successed; 12 | Window GetWindow(Func func); 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Theme/ISwitchThemeViewPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface ISwitchThemeViewPresenter 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Theme/IThemeViewPresenter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IThemeViewPresenter : IPresenter 4 | { 5 | 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Transition/IVisualTransitionable.cs: -------------------------------------------------------------------------------- 1 | using Avalonia; 2 | using System.Threading.Tasks; 3 | 4 | namespace HeBianGu.AvaloniaUI.Ioc 5 | { 6 | public interface IVisualTransitionable 7 | { 8 | Task Show(Visual visual); 9 | 10 | Task Close(Visual visual); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Upgrade/IUpgradeService.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IUpgradeService 6 | { 7 | bool CanUpgrade(out string message); 8 | bool Upgrade(out string message); 9 | string UpgradeVersion { get; } 10 | } 11 | } -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Where/IDisplayFilter.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IDisplayFilter : IFilterable, IDisplayable 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Where/IDisplayable.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IDisplayable 4 | { 5 | string DisplayName { get; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Where/IFilterable.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IFilterable 4 | { 5 | bool IsMatch(object obj); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Where/IOrderable.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Ioc 2 | { 3 | public interface IOrderable : IWhereable 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Ioc/Where/IWhereable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | 3 | namespace HeBianGu.AvaloniaUI.Ioc 4 | { 5 | public interface IWhereable 6 | { 7 | IEnumerable Where(IEnumerable from); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Metadata; 2 | using System.Windows; 3 | using System.Windows.Markup; 4 | 5 | [assembly: XmlnsDefinition("QQ:908293466", "HeBianGu.AvaloniaUI.Mvvm")] 6 | [assembly: XmlnsPrefix("QQ:908293466", "h")] 7 | 8 | [assembly: XmlnsDefinition("https://github.com/HeBianGu", "HeBianGu.AvaloniaUI.Mvvm")] 9 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")] 10 | 11 | 12 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "HeBianGu.AvaloniaUI.Mvvm")] 13 | [assembly: XmlnsPrefix("https://github.com/avaloniaui", "h")] -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/Commands/CommandBase.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Media; 2 | using System; 3 | using System.Windows.Input; 4 | 5 | namespace HeBianGu.AvaloniaUI.Mvvm 6 | { 7 | public abstract class CommandBase : ICommand 8 | { 9 | public event EventHandler CanExecuteChanged; 10 | 11 | public virtual bool CanExecute(object parameter) 12 | { 13 | return true; 14 | } 15 | 16 | public abstract void Execute(object parameter); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/Commands/IDisplayCommand.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Mvvm 4 | { 5 | public interface IDisplayCommand 6 | { 7 | string Name { get; set; } 8 | string Description { get; set; } 9 | string GroupName { get; set; } 10 | int Order { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/HeBianGu.AvaloniaUI.Mvvm.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/ViewModels/IDAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Mvvm 4 | { 5 | public class IDAttribute : Attribute 6 | { 7 | public string ID { get; set; } 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/ViewModels/IDable.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Mvvm 2 | { 3 | public interface IDable 4 | { 5 | string ID { get; set; } 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/ViewModels/IModelBindable.T.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Mvvm 4 | { 5 | public interface IModelBindable : IModelBindable 6 | { 7 | T Model { get; set; } 8 | double Value { get; set; } 9 | bool Visible { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/ViewModels/IModelBindable.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Mvvm 4 | { 5 | public interface IModelBindable 6 | { 7 | object GetModel(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/ViewModels/ISearchable.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Mvvm 4 | { 5 | public interface ISearchable 6 | { 7 | bool Filter(string txt); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/ViewModels/ISelectBindable.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Mvvm 4 | { 5 | public interface ISelectBindable 6 | { 7 | bool IsSelected { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Cores/HeBianGu.AvaloniaUI.Mvvm/ViewModels/Tree/ITreeNode.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System.Windows; 4 | 5 | namespace HeBianGu.AvaloniaUI.Mvvm 6 | { 7 | public interface ITreeNode 8 | { 9 | bool IsExpanded { get; set; } 10 | bool? IsChecked { get; set; } 11 | bool Visibility { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/DataBases/HeBianGu.AvaloniaUI.DataBase.Share/IDbSetting.cs: -------------------------------------------------------------------------------- 1 | #if NETFRAMEWORK 2 | using System.Data.Entity; 3 | #endif 4 | 5 | #if NETCOREAPP 6 | #endif 7 | using Microsoft.Extensions.DependencyInjection; 8 | using System; 9 | 10 | namespace HeBianGu.AvaloniaUI.DataBase.Share 11 | { 12 | public interface IDbSettable 13 | { 14 | string GetConnect(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/DataBases/HeBianGu.AvaloniaUI.Sqlite/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Metadata; 2 | using System.Windows; 3 | using System.Windows.Markup; 4 | 5 | [assembly: XmlnsDefinition("QQ:908293466", "HeBianGu.AvaloniaUI.Sqlite")] 6 | [assembly: XmlnsPrefix("QQ:908293466", "h")] 7 | 8 | [assembly: XmlnsDefinition("https://github.com/HeBianGu", "HeBianGu.AvaloniaUI.Sqlite")] 9 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")] 10 | -------------------------------------------------------------------------------- /Source/DataBases/HeBianGu.AvaloniaUI.Sqlite/ISqliteOption.cs: -------------------------------------------------------------------------------- 1 | #if NETFRAMEWORK 2 | using System.Data.Entity; 3 | #endif 4 | 5 | #if NETCOREAPP 6 | #endif 7 | 8 | namespace HeBianGu.AvaloniaUI.Sqlite 9 | { 10 | public interface ISqliteOption 11 | { 12 | string InitialCatalog { get; set; } 13 | string FilePath { get; set; } 14 | string ConfigPath { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/DataBases/HeBianGu.AvaloniaUI.Sqlite/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/DataBases/HeBianGu.AvaloniaUI.Sqlite/ReadMe.txt -------------------------------------------------------------------------------- /Source/DataBases/HeBianGu.AvaloniaUI.Sqlite/SqliteDbConnectService.cs: -------------------------------------------------------------------------------- 1 |  2 | using HeBianGu.AvaloniaUI.DataBase.Share; 3 | using Microsoft.EntityFrameworkCore; 4 | 5 | namespace HeBianGu.AvaloniaUI.Sqlite 6 | { 7 | public class SqliteDbConnectService : DbConnectServiceBase where TDbContext : DbContext 8 | { 9 | protected override IDbSettable GetSetting() 10 | { 11 | return SqliteSettable.Instance; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/DataBases/HeBianGu.AvaloniaUI.Sqlite/SqliteSettable.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | #if NETFRAMEWORK 5 | using System.Data.Entity; 6 | #endif 7 | 8 | #if NETCOREAPP 9 | #endif 10 | using HeBianGu.AvaloniaUI.DataBase.Share; 11 | using HeBianGu.AvaloniaUI.Ioc; 12 | using System.ComponentModel.DataAnnotations; 13 | 14 | namespace HeBianGu.AvaloniaUI.Sqlite 15 | { 16 | [Display(Name = "数据库配置", GroupName = SettingGroupNames.GroupApp)] 17 | public class SqliteSettable : SqliteSettableBase, ISqliteOption, IDbSettable 18 | { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Datas/HeBianGu.AvaloniaUI.DemoData/DataTemplates/Student.axaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Datas/HeBianGu.AvaloniaUI.DemoData/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 UseDataTest(this IApplicationAxamlLoader builder) 12 | { 13 | return builder; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Datas/HeBianGu.AvaloniaUI.DemoData/GetStudentExtension.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using System; 3 | using System.Windows.Markup; 4 | 5 | namespace HeBianGu.AvaloniaUI.DemoData 6 | { 7 | public class GetStudentExtension : MarkupExtension 8 | { 9 | public override object ProvideValue(IServiceProvider serviceProvider) 10 | { 11 | return Student.Random(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Datas/HeBianGu.AvaloniaUI.DemoData/GetStudentsExtension.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using System; 3 | using System.Linq; 4 | using System.Windows.Markup; 5 | 6 | namespace HeBianGu.AvaloniaUI.DemoData 7 | { 8 | public class GetStudentsExtension : MarkupExtension 9 | { 10 | public int Count { get; set; } = 10; 11 | 12 | public override object ProvideValue(IServiceProvider serviceProvider) 13 | { 14 | return Enumerable.Range(0, this.Count).Select(x => new Student()).ToList(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Datas/HeBianGu.AvaloniaUI.DemoData/Students.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace HeBianGu.AvaloniaUI.DemoData 5 | { 6 | public class Students : ObservableCollection 7 | { 8 | public Students() 9 | { 10 | 11 | } 12 | public Students(IEnumerable collection) : base(collection) 13 | { 14 | 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Datas/HeBianGu.AvaloniaUI.DemoData/TestViewModels.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace HeBianGu.AvaloniaUI.DemoData 5 | { 6 | public class TestBindables : ObservableCollection 7 | { 8 | public TestBindables() 9 | { 10 | 11 | } 12 | public TestBindables(IEnumerable collection) : base(collection) 13 | { 14 | 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Animations/HeBianGu.AvaloniaUI.Animations.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Application/ApplicationAxamlLoader.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Application 2 | { 3 | public class ApplicationAxamlLoader : IApplicationAxamlLoader 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Application/ApplicationAxamlLoaderAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Application 4 | { 5 | public abstract class ApplicationAxamlLoaderAttribute : Attribute 6 | { 7 | public abstract string FolderName { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Application/ApplicationBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Application 4 | { 5 | public class ApplicationBuilder : IApplicationBuilder 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Application/ApplicationResourceLoaderAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Application 4 | { 5 | [System.AttributeUsage(AttributeTargets.Assembly, Inherited = false, AllowMultiple = false)] 6 | public sealed class ApplicationResourceLoaderAttribute : ApplicationAxamlLoaderAttribute 7 | { 8 | public override string FolderName { get; set; } = "Resources"; 9 | } 10 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Application/ApplicationStylesLoaderAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HeBianGu.AvaloniaUI.Application 4 | { 5 | [System.AttributeUsage(AttributeTargets.Assembly, Inherited = false, AllowMultiple = false)] 6 | public sealed class ApplicationStylesLoaderAttribute : ApplicationAxamlLoaderAttribute 7 | { 8 | public override string FolderName { get; set; } = "Styles"; 9 | } 10 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Application/HeBianGu.AvaloniaUI.Application.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Application/IApplicationAxamlLoader.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Application 2 | { 3 | public interface IApplicationAxamlLoader 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Attach/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Metadata; 2 | using System.Windows; 3 | using System.Windows.Markup; 4 | 5 | [assembly: XmlnsDefinition("QQ:908293466", "HeBianGu.AvaloniaUI.Attach")] 6 | [assembly: XmlnsPrefix("QQ:908293466", "h")] 7 | 8 | [assembly: XmlnsDefinition("https://github.com/HeBianGu", "HeBianGu.AvaloniaUI.Attach")] 9 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")] 10 | 11 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "HeBianGu.AvaloniaUI.Attach")] 12 | [assembly: XmlnsPrefix("https://github.com/avaloniaui", "h")] -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Attach/HeBianGu.AvaloniaUI.Attach.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Arrow.png -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Cover.png -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Grid.png -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Mountain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Mountain.png -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Star.png -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/Assets/Wave.png -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.BackgroundImage/HeBianGu.AvaloniaUI.BackgroundImage.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Behavior/HeBianGu.AvaloniaUI.Behavior.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Command/CancelWindowCommand.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | 4 | using HeBianGu.AvaloniaUI.Ioc; 5 | 6 | namespace HeBianGu.AvaloniaUI.Command 7 | { 8 | public class CancelWindowCommand : WindowCommandBase 9 | { 10 | public override void Execute(object parameter) 11 | { 12 | if (parameter is IDialog window) 13 | { 14 | window.DialogResult = false; 15 | window.Close(); 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Command/HeBianGu.AvaloniaUI.Command.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Command/WindowCommand.Maximize.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using Avalonia.Controls; 4 | using System.Windows; 5 | 6 | namespace HeBianGu.AvaloniaUI.Command 7 | { 8 | public class MaximizeWindowCommand : WindowCommandBase 9 | { 10 | public override void Execute(object parameter) 11 | { 12 | if (parameter is Window window) 13 | { 14 | window.WindowState = WindowState.Maximized; 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Command/WindowCommand.Minimize.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using Avalonia.Controls; 4 | using System.Windows; 5 | 6 | namespace HeBianGu.AvaloniaUI.Command 7 | { 8 | public class MinimizeWindowCommand : WindowCommandBase 9 | { 10 | public override void Execute(object parameter) 11 | { 12 | if (parameter is Window window) 13 | { 14 | window.WindowState = WindowState.Minimized; 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Extension/Extension.Application.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | namespace HeBianGu.AvaloniaUI.Extension 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Extension/HeBianGu.AvaloniaUI.Extension.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Geometry/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Metadata; 2 | using System.Windows; 3 | using System.Windows.Markup; 4 | 5 | [assembly: XmlnsDefinition("QQ:908293466", "HeBianGu.AvaloniaUI.Geometry")] 6 | [assembly: XmlnsPrefix("QQ:908293466", "h")] 7 | 8 | [assembly: XmlnsDefinition("https://github.com/HeBianGu", "HeBianGu.AvaloniaUI.Geometry")] 9 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")] 10 | 11 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "HeBianGu.AvaloniaUI.Geometry")] 12 | [assembly: XmlnsPrefix("https://github.com/avaloniaui", "h")] -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Geometry/HeBianGu.AvaloniaUI.Geometry.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Geometry/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.MarkupExtesion/GetRandomRangeExtension.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | 4 | namespace Avalonia.Extensions.MarkupExtension 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 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.MarkupExtesion/HeBianGu.AvaloniaUI.MarkupExtesion.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Repository/HeBianGu.AvaloniaUI.Repository.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Repository/Observable/IObservableSource.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Repository 4 | { 5 | public interface IObservableSource 6 | { 7 | int MaxValue { get; set; } 8 | int MinValue { get; set; } 9 | int PageCount { get; set; } 10 | int PageIndex { get; set; } 11 | int Total { get; set; } 12 | int TotalPage { get; set; } 13 | int Count { get; } 14 | int SelectedIndex { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Repository/Repository/IRepositoryBindable.T.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | using HeBianGu.AvaloniaUI.Ioc; 3 | using HeBianGu.AvaloniaUI.Mvvm; 4 | using Microsoft.Extensions.DependencyInjection; 5 | 6 | namespace HeBianGu.AvaloniaUI.Repository 7 | { 8 | public interface IRepositoryBindable : IRepositoryBindableBase 9 | where TEntity : StringEntityBase, new() 10 | { 11 | IObservableSource> Collection { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Repository/Repository/IRepositoryBindable.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Repository 4 | { 5 | public interface IRepositoryBindable 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Repository/Repository/ITreePath.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Repository 4 | { 5 | public interface ITreePath 6 | { 7 | string GetFullPath(); 8 | void SetPath(string path); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Repository/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.ResourceKey/HeBianGu.AvaloniaUI.ResourceKey.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Setting/Command.ClearCache.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | 4 | using HeBianGu.AvaloniaUI.Ioc; 5 | using HeBianGu.AvaloniaUI.Mvvm; 6 | 7 | namespace HeBianGu.AvaloniaUI.Setting 8 | { 9 | public class ClearCacheDataCommand : MarkupCommandBase 10 | { 11 | public override void Execute(object parameter) 12 | { 13 | AppPaths.Instance.ClearCache(); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Setting/HeBianGu.AvaloniaUI.Setting.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Setting/Settable.Ioc.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Setting 6 | { 7 | public abstract class IocSettableInstance : SettableBase where Setting : class, Interface, new() 8 | { 9 | public static Setting Instance => (Setting)System.Ioc.GetService(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Setting/Settable.Lazy.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Setting 6 | { 7 | public abstract class LazySettableInstance : SettableBase where T : new() 8 | { 9 | public static T Instance { get; } = new Lazy(() => new T()).Value; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Setting/Settable.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | namespace HeBianGu.AvaloniaUI.Setting 4 | { 5 | public abstract class Settable : LazySettableInstance where T : new() 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Setting/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Treeable/ClassTypeTreeExtension.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Treeable 5 | { 6 | public class ClassTypeTreeExtension : MarkupExtension 7 | { 8 | public Type Type { get; set; } 9 | public override object ProvideValue(IServiceProvider serviceProvider) 10 | { 11 | return new ClassTypeTree(this.Type); 12 | } 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Treeable/HeBianGu.AvaloniaUI.Treeable.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Treeable/IParentable.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Treeable 2 | { 3 | public interface IParentable 4 | { 5 | object GetParent(object current); 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.Treeable/ITreeable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Text.Json; 3 | using System.Text.Json.Serialization; 4 | 5 | namespace HeBianGu.AvaloniaUI.Treeable 6 | { 7 | public interface ITreeable 8 | { 9 | IEnumerable GetChildren(object parent); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.ValueConverter/GetTrueToFalseValueConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | 4 | namespace HeBianGu.AvaloniaUI.ValueConverter 5 | { 6 | public class GetTrueToFalseValueConverter : MarkupValueConverterBase 7 | { 8 | public override object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) 9 | { 10 | if (value is bool b) 11 | return !b; 12 | return value; 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.ValueConverter/GetWriteLineValueConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | 4 | namespace HeBianGu.AvaloniaUI.ValueConverter 5 | { 6 | public class GetWriteLineValueConverter : MarkupValueConverterBase 7 | { 8 | public override object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) 9 | { 10 | System.Diagnostics.Debug.WriteLine(value); 11 | return value; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Extensions/HeBianGu.AvaloniaUI.ValueConverter/HeBianGu.AvaloniaUI.ValueConverter.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.DialogMessage/DataTemplates/PercentPresenter.axaml.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | using HeBianGu.AvaloniaUI.Ioc; 4 | using HeBianGu.AvaloniaUI.Mvvm; 5 | 6 | namespace HeBianGu.AvaloniaUI.DialogMessage 7 | { 8 | public class PercentPresenter : DisplayBindableBase, IPercentPresenter 9 | { 10 | private int _value; 11 | public int Value 12 | { 13 | get { return _value; } 14 | set 15 | { 16 | _value = value; 17 | RaisePropertyChanged(); 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.DialogMessage/DataTemplates/StringPresenter.axaml.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Ioc; 2 | using HeBianGu.AvaloniaUI.Mvvm; 3 | 4 | namespace HeBianGu.AvaloniaUI.DialogMessage 5 | { 6 | public class StringPresenter : DisplayBindableBase, IStringPresenter 7 | { 8 | private string _value; 9 | public string Value 10 | { 11 | get { return _value; } 12 | set 13 | { 14 | _value = value; 15 | RaisePropertyChanged(); 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.DialogMessage/DataTemplates/WaitPresenter.axaml.cs: -------------------------------------------------------------------------------- 1 |  2 | using HeBianGu.AvaloniaUI.Ioc; 3 | using HeBianGu.AvaloniaUI.Mvvm; 4 | 5 | namespace HeBianGu.AvaloniaUI.DialogMessage 6 | { 7 | public class WaitPresenter : DisplayBindableBase, IPresenter 8 | { 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.DialogMessage/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.FormMessage/HeBianGu.AvaloniaUI.FormMessage.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.Modules.About/DataTemplates/AboutViewPresenter.axaml.cs: -------------------------------------------------------------------------------- 1 |  2 | using HeBianGu.AvaloniaUI.Ioc; 3 | using HeBianGu.AvaloniaUI.Mvvm; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace HeBianGu.AvaloniaUI.Modules.About 11 | { 12 | public class AboutViewPresenter : BindableBase, IAboutViewPresenter 13 | { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.Modules.Identity/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Modules/HeBianGu.AvaloniaUI.Modules.Identity/ReadMe.txt -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.Modules.Operation/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Modules/HeBianGu.AvaloniaUI.Modules.Operation/ReadMe.txt -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.Modules.Setting/Base/NotifySetting.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using HeBianGu.AvaloniaUI.Ioc; 4 | using HeBianGu.AvaloniaUI.Setting; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace HeBianGu.AvaloniaUI.Modules.Setting 8 | { 9 | /// 提醒 10 | [Display(Name = "提醒", GroupName = SettingGroupNames.GroupMessage)] 11 | public class NotifySetting : Settable 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.Modules.Setting/Base/ViewSetting.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using HeBianGu.AvaloniaUI.Ioc; 4 | using HeBianGu.AvaloniaUI.Setting; 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace HeBianGu.AvaloniaUI.Modules.Setting 8 | { 9 | /// 显示 10 | [Display(Name = "显示", GroupName = SettingGroupNames.GroupBase)] 11 | public class ViewSetting : Settable 12 | { 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.Modules.SplashScreen/SplashScreenWindow.axaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Modules/HeBianGu.AvaloniaUI.Modules.SplashScreen/SplashScreenWindow.axaml.cs -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.Modules.ThemeSetting/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Metadata; 2 | using HeBianGu.AvaloniaUI.Application; 3 | 4 | 5 | 6 | [assembly: XmlnsDefinition("https://github.com/HeBianGu", "HeBianGu.AvaloniaUI.Modules.ThemeSetting")] 7 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")] 8 | 9 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "HeBianGu.AvaloniaUI.Modules.ThemeSetting")] 10 | [assembly: XmlnsPrefix("https://github.com/avaloniaui", "h")] 11 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.Modules.ThemeSetting/DataTemplates/ThemeSettingViewPresenter.axaml.cs: -------------------------------------------------------------------------------- 1 |  2 | using HeBianGu.AvaloniaUI.Ioc; 3 | using HeBianGu.AvaloniaUI.Mvvm; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace HeBianGu.AvaloniaUI.Modules.ThemeSetting 11 | { 12 | public class ThemeSettingViewPresenter : BindableBase, IThemeViewPresenter 13 | { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.NoticeMessage/Presenters/ErrorMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | 4 | 5 | using HeBianGu.AvaloniaUI.Geometry; 6 | using HeBianGu.AvaloniaUI.NoticeMessage; 7 | 8 | namespace HeBianGu.AvaloniaUI.NoticeMessage 9 | { 10 | public class ErrorMessagePresenter : MessagePresenterBase 11 | { 12 | public ErrorMessagePresenter() 13 | { 14 | this.Geometry = GeometryFactory.Create(Geometrys.Error); 15 | this.Level = 4; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.NoticeMessage/Presenters/FatalMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | 4 | using HeBianGu.AvaloniaUI.Geometry; 5 | using HeBianGu.AvaloniaUI.NoticeMessage; 6 | 7 | namespace HeBianGu.AvaloniaUI.NoticeMessage 8 | { 9 | public class FatalMessagePresenter : MessagePresenterBase 10 | { 11 | public FatalMessagePresenter() 12 | { 13 | Geometry = GeometryFactory.Create(Geometrys.Fatal); 14 | Level = 5; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.NoticeMessage/Presenters/InfoMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | 4 | using HeBianGu.AvaloniaUI.Geometry; 5 | using HeBianGu.AvaloniaUI.NoticeMessage; 6 | 7 | namespace HeBianGu.AvaloniaUI.NoticeMessage 8 | { 9 | public class InfoMessagePresenter : MessagePresenterBase 10 | { 11 | public InfoMessagePresenter() 12 | { 13 | this.Geometry = GeometryFactory.Create(Geometrys.Info); 14 | this.Level = 2; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.NoticeMessage/Presenters/StringMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | //using H.Extensions.Geometry; 4 | 5 | using HeBianGu.AvaloniaUI.Geometry; 6 | using HeBianGu.AvaloniaUI.NoticeMessage; 7 | 8 | namespace HeBianGu.AvaloniaUI.NoticeMessage 9 | { 10 | public class StringMessagePresenter : MessagePresenterBase 11 | { 12 | public StringMessagePresenter() 13 | { 14 | Geometry = GeometryFactory.Create(Geometrys.Wait); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.NoticeMessage/Presenters/SuccessMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using HeBianGu.AvaloniaUI.Geometry; 4 | using HeBianGu.AvaloniaUI.NoticeMessage; 5 | 6 | namespace HeBianGu.AvaloniaUI.NoticeMessage 7 | { 8 | public class SuccessMessagePresenter : MessagePresenterBase 9 | { 10 | public SuccessMessagePresenter() 11 | { 12 | Geometry = GeometryFactory.Create(Geometrys.Success); 13 | Level = 1; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.SnackMessage/Presenters/ErrorMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | 4 | 5 | using HeBianGu.AvaloniaUI.Geometry; 6 | using HeBianGu.AvaloniaUI.SnackMessage; 7 | 8 | namespace HeBianGu.AvaloniaUI.SnackMessage 9 | { 10 | public class ErrorMessagePresenter : SnackMessagePresenterBase 11 | { 12 | public ErrorMessagePresenter() 13 | { 14 | this.Geometry = GeometryFactory.Create(Geometrys.Error); 15 | this.Level = 4; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.SnackMessage/Presenters/FatalMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | 4 | using HeBianGu.AvaloniaUI.Geometry; 5 | using HeBianGu.AvaloniaUI.SnackMessage; 6 | 7 | namespace HeBianGu.AvaloniaUI.SnackMessage 8 | { 9 | public class FatalMessagePresenter : SnackMessagePresenterBase 10 | { 11 | public FatalMessagePresenter() 12 | { 13 | Geometry = GeometryFactory.Create(Geometrys.Fatal); 14 | Level = 5; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.SnackMessage/Presenters/InfoMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | using HeBianGu.AvaloniaUI.Geometry; 4 | using HeBianGu.AvaloniaUI.SnackMessage; 5 | 6 | namespace HeBianGu.AvaloniaUI.SnackMessage 7 | { 8 | public class InfoMessagePresenter : SnackMessagePresenterBase 9 | { 10 | public InfoMessagePresenter() 11 | { 12 | this.Geometry = GeometryFactory.Create(Geometrys.Info); 13 | this.Level = 2; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.SnackMessage/Presenters/StringMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | 3 | 4 | 5 | using HeBianGu.AvaloniaUI.Geometry; 6 | using HeBianGu.AvaloniaUI.SnackMessage; 7 | 8 | namespace HeBianGu.AvaloniaUI.SnackMessage 9 | { 10 | public class StringMessagePresenter : SnackMessagePresenterBase 11 | { 12 | public StringMessagePresenter() 13 | { 14 | Geometry = GeometryFactory.Create(Geometrys.Wait); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Modules/HeBianGu.AvaloniaUI.SnackMessage/Presenters/SuccessMessagePresenter.cs: -------------------------------------------------------------------------------- 1 | // Copyright © 2024 By HeBianGu(QQ:908293466) https://github.com/HeBianGu/WPF-Control 2 | using HeBianGu.AvaloniaUI.Geometry; 3 | using HeBianGu.AvaloniaUI.SnackMessage; 4 | 5 | namespace HeBianGu.AvaloniaUI.SnackMessage 6 | { 7 | public class SuccessMessagePresenter : SnackMessagePresenterBase 8 | { 9 | public SuccessMessagePresenter() 10 | { 11 | Geometry = GeometryFactory.Create(Geometrys.Success); 12 | Level = 1; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Styles/HeBianGu.AvaloniaUI.Styles.Extension/Extension.cs: -------------------------------------------------------------------------------- 1 |  2 | using HeBianGu.AvaloniaUI.Application; 3 | using System; 4 | 5 | namespace System 6 | { 7 | public static partial class Extension 8 | { 9 | public static IApplicationAxamlLoader UseStylesExtension(this IApplicationAxamlLoader builder) 10 | { 11 | return builder; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Styles/HeBianGu.AvaloniaUI.Styles.Extension/Resources/Button.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Media; 3 | using HeBianGu.AvaloniaUI.ResourceKey; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace HeBianGu.AvaloniaUI.Styles.Extension 11 | { 12 | public static class ButtonKeys 13 | { 14 | public static StringResourceKey Geometry => new StringResourceKey(typeof(Button), nameof(Geometry)); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Styles/HeBianGu.AvaloniaUI.Styles.Extension/Resources/GroupBox.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls.Primitives; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Styles.Extension 5 | { 6 | public class GroupBox : HeaderedContentControl 7 | { 8 | protected override Type StyleKeyOverride => typeof(GroupBox); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Source/Styles/HeBianGu.AvaloniaUI.Styles.Extension/Resources/TabControl.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Media; 3 | using HeBianGu.AvaloniaUI.ResourceKey; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace HeBianGu.AvaloniaUI.Styles.Extension 11 | { 12 | public static class TabControlKeys 13 | { 14 | public static StringResourceKey ScrollViewer => new StringResourceKey(typeof(TabControl), nameof(ScrollViewer)); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Styles/HeBianGu.AvaloniaUI.Styles/Controls/Border.axaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Source/Styles/HeBianGu.AvaloniaUI.Styles/HeBianGu.AvaloniaUI.Styles.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Code/App.axaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Code/Assets/avalonia-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/Avalonia.Test.Code/Assets/avalonia-logo.ico -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Code/ViewModels/MainViewModel.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Animation; 2 | 3 | namespace Avalonia.Test.Code.ViewModels; 4 | 5 | public class MainViewModel : ViewModelBase 6 | { 7 | public string Greeting => "Welcome to Avalonia!"; 8 | } 9 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Code/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace Avalonia.Test.Code.ViewModels; 4 | 5 | public class ViewModelBase : ReactiveObject 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Code/Views/MainView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Test.Code.Views; 4 | 5 | public partial class MainView : UserControl 6 | { 7 | public MainView() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Code/Views/MainWindow.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Test.Code.Views; 4 | 5 | public partial class MainWindow : Window 6 | { 7 | public MainWindow() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile.Android/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/Avalonia.Test.Mobile.Android/Icon.png -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile.Android/Resources/drawable/splash_screen.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile.Android/Resources/values-night/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #212121 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #FFFFFF 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile.Android/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile/App.axaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile/Assets/avalonia-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/Avalonia.Test.Mobile/Assets/avalonia-logo.ico -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile/ViewModels/MainViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace Avalonia.Test.Mobile.ViewModels; 2 | 3 | public class MainViewModel : ViewModelBase 4 | { 5 | public string Greeting => "Welcome to Avalonia!"; 6 | } 7 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace Avalonia.Test.Mobile.ViewModels; 4 | 5 | public class ViewModelBase : ReactiveObject 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile/Views/MainView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Test.Mobile.Views; 4 | 5 | public partial class MainView : UserControl 6 | { 7 | public MainView() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Mobile/Views/MainWindow.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Test.Mobile.Views; 4 | 5 | public partial class MainWindow : Window 6 | { 7 | public MainWindow() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite.Android/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/Avalonia.Test.Sqlite.Android/Icon.png -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite.Android/Resources/drawable/splash_screen.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite.Android/Resources/values-night/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #212121 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #FFFFFF 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite.Android/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite/App.axaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite/Assets/avalonia-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/Avalonia.Test.Sqlite/Assets/avalonia-logo.ico -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite/MyDataContext.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.EntityFrameworkCore; 2 | using System.Xml.Linq; 3 | 4 | namespace Avalonia.Test.Sqlite; 5 | 6 | public class MyDataContext : DbContext 7 | { 8 | public MyDataContext(DbContextOptions options) : base(options) 9 | { 10 | //Database.EnsureCreated(); 11 | } 12 | 13 | protected override void OnModelCreating(ModelBuilder modelBuilder) 14 | { 15 | base.OnModelCreating(modelBuilder); 16 | } 17 | 18 | public DbSet mbc_dv_images { get; set; } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite/MyDataContextFactory.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.EntityFrameworkCore.Design; 2 | using Microsoft.EntityFrameworkCore; 3 | 4 | namespace Avalonia.Test.Sqlite; 5 | 6 | public class MyDataContextFactory : IDesignTimeDbContextFactory 7 | { 8 | public MyDataContext CreateDbContext(string[] args) 9 | { 10 | var optionsBuilder = new DbContextOptionsBuilder(); 11 | optionsBuilder.UseLazyLoadingProxies().UseSqlite("Data Source=Migration.db"); 12 | return new MyDataContext(optionsBuilder.Options); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace Avalonia.Test.Sqlite.ViewModels; 4 | 5 | public class ViewModelBase : ReactiveObject 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite/Views/MainView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Test.Sqlite.Views; 4 | 5 | public partial class MainView : UserControl 6 | { 7 | public MainView() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.Sqlite/Views/MainWindow.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Test.Sqlite.Views; 4 | 5 | public partial class MainWindow : Window 6 | { 7 | public MainWindow() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget.Android/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/Avalonia.Test.ThirdNuget.Android/Icon.png -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget.Android/Resources/drawable/splash_screen.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget.Android/Resources/values-night/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #212121 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #FFFFFF 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget.Android/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget/App.axaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget/Assets/avalonia-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/Avalonia.Test.ThirdNuget/Assets/avalonia-logo.ico -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace Avalonia.Test.ThirdNuget.ViewModels; 4 | 5 | public class ViewModelBase : ReactiveObject 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.ThirdNuget/Views/MainWindow.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Test.ThirdNuget.Views; 4 | 5 | public partial class MainWindow : Window 6 | { 7 | public MainWindow() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.VLC/Assets/avalonia-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/Avalonia.Test.VLC/Assets/avalonia-logo.ico -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.VLC/ViewModels/MainViewModel.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using LibVLCSharp.Shared; 3 | using ReactiveUI; 4 | using System; 5 | using System.Collections.ObjectModel; 6 | using System.Threading.Tasks; 7 | 8 | namespace Avalonia.Test.VLC.ViewModels; 9 | 10 | public class MainViewModel : ViewModelBase 11 | { 12 | public string Greeting => "Welcome to Avalonia!"; 13 | } 14 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.VLC/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace Avalonia.Test.VLC.ViewModels; 4 | 5 | public class ViewModelBase : ReactiveObject 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.VLC/Views/MainView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Test.VLC.Views; 4 | 5 | public partial class MainView : UserControl 6 | { 7 | public MainView() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Test/Avalonia.Test.VLC/Views/MainWindow.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using HeBianGu.AvaloniaUI.MainWindow; 3 | 4 | namespace Avalonia.Test.VLC.Views; 5 | 6 | public partial class MainWindow : MainWindowBase 7 | { 8 | public MainWindow() 9 | { 10 | InitializeComponent(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls.Android/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Controls.Android/Icon.png -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls.Android/Resources/drawable/splash_screen.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls.Android/Resources/values-night/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #212121 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #FFFFFF 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls.Android/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls/Assets/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Controls/Assets/1.jpg -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls/Assets/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Controls/Assets/2.jpg -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls/Assets/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Controls/Assets/3.jpg -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls/Assets/avalonia-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Controls/Assets/avalonia-logo.ico -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls/Models/Node.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace HeBianGu.Test.Controls.Models; 4 | 5 | public class Node 6 | { 7 | public ObservableCollection? SubNodes { get; } 8 | public string Title { get; } 9 | 10 | public Node(string title) 11 | { 12 | Title = title; 13 | } 14 | 15 | public Node(string title, ObservableCollection subNodes) 16 | { 17 | Title = title; 18 | SubNodes = subNodes; 19 | } 20 | } 21 | 22 | 23 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls/Models/Person.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.Test.Controls.Models; 2 | 3 | public class Person 4 | { 5 | public string FirstName { get; set; } 6 | public string LastName { get; set; } 7 | 8 | public Person(string firstName, string lastName) 9 | { 10 | FirstName = firstName; 11 | LastName = lastName; 12 | } 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace HeBianGu.Test.Controls.ViewModels; 4 | 5 | public class ViewModelBase : ObservableObject 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Controls/Views/MainWindow.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace HeBianGu.Test.Controls.Views; 4 | 5 | public partial class MainWindow : Window 6 | { 7 | public MainWindow() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main.Android/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Main.Android/Icon.png -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main.Android/Resources/drawable/splash_screen.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main.Android/Resources/values-night/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #212121 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #FFFFFF 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main.Android/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main/Assets/avalonia-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Main/Assets/avalonia-logo.ico -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main/Assets/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Main/Assets/logo.ico -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace HeBianGu.Test.Main.ViewModels; 4 | 5 | public class ViewModelBase : ReactiveObject 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Main/Views/MainWindow.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia; 2 | using Avalonia.Controls; 3 | using Avalonia.Markup.Xaml; 4 | using HeBianGu.AvaloniaUI.MainWindow; 5 | using ReactiveUI; 6 | 7 | 8 | namespace HeBianGu.Test.Main.Views; 9 | 10 | public partial class MainWindow : MainWindowBase 11 | { 12 | public MainWindow() 13 | { 14 | InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style.Android/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Style.Android/Icon.png -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style.Android/Resources/drawable/splash_screen.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style.Android/Resources/values-night/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #212121 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #FFFFFF 4 | 5 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style.Android/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/Assets/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Style/Assets/1.jpg -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/Assets/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Style/Assets/2.jpg -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/Assets/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Style/Assets/3.jpg -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/Assets/avalonia-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Style/Assets/avalonia-logo.ico -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/Assets/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeBianGu/Avalonia-Controls/97fee84df0a1051e48f7f47dc7b6c1c40cb7e471/Source/Test/HeBianGu.Test.Style/Assets/logo.ico -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/Models/Node.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace HeBianGu.Test.Style.Models; 4 | 5 | public class Node 6 | { 7 | public ObservableCollection? SubNodes { get; } 8 | public string Title { get; } 9 | 10 | public Node(string title) 11 | { 12 | Title = title; 13 | } 14 | 15 | public Node(string title, ObservableCollection subNodes) 16 | { 17 | Title = title; 18 | SubNodes = subNodes; 19 | } 20 | } 21 | 22 | 23 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/Models/Person.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.Test.Style.Models; 2 | 3 | public class Person 4 | { 5 | public string FirstName { get; set; } 6 | public string LastName { get; set; } 7 | 8 | public Person(string firstName, string lastName) 9 | { 10 | FirstName = firstName; 11 | LastName = lastName; 12 | } 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/ViewModels/MainViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.Test.Style.ViewModels; 2 | 3 | public class MainViewModel : ViewModelBase 4 | { 5 | public string Greeting => "Welcome to Avalonia!"; 6 | } 7 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace HeBianGu.Test.Style.ViewModels; 4 | 5 | public class ViewModelBase : ReactiveObject 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /Source/Test/HeBianGu.Test.Style/Views/MainWindow.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace HeBianGu.Test.Style.Views; 4 | 5 | public partial class MainWindow : Window 6 | { 7 | public MainWindow() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Metadata; 2 | using HeBianGu.AvaloniaUI.Application; 3 | 4 | [assembly: ApplicationResourceLoader] 5 | 6 | [assembly: XmlnsDefinition("https://github.com/HeBianGu", "HeBianGu.AvaloniaUI.Theme")] 7 | [assembly: XmlnsPrefix("https://github.com/HeBianGu", "h")] 8 | 9 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "HeBianGu.AvaloniaUI.Theme")] 10 | [assembly: XmlnsPrefix("https://github.com/avaloniaui", "h")] 11 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/BackgroundImages/Empty.axaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/AccentColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class AccentColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "主色"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Accent.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/AccentLightColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class AccentLightColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "主浅色"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Accent.Light.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/ColorThemeType.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace HeBianGu.AvaloniaUI.Theme 4 | { 5 | public enum ColorThemeType 6 | { 7 | [Display(Name = "常规")] 8 | Default = 0, 9 | [Display(Name = "深色")] 10 | Dark, 11 | [Display(Name = "浅色")] 12 | Light 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/DarkBlueColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class DarkBlueColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "深蓝色"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Dark.Blue.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/DarkColorResource.cs: -------------------------------------------------------------------------------- 1 |  2 | using HeBianGu.AvaloniaUI.Theme.Provider; 3 | using System; 4 | 5 | namespace HeBianGu.AvaloniaUI.Theme 6 | { 7 | public class DarkColorResource : ResourceBase, IColorResource 8 | { 9 | public override string Name => "深色"; 10 | protected override Uri GetUri() 11 | { 12 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Dark.axaml"); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/DarkGrayColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class DarkGrayColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "深灰色"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Dark.Gray.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/DarkPurpleColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class DarkPurpleColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "深紫色"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Dark.Purple.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/DarkTransparentColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class DarkTransparentColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "深透明"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Dark.Transparent.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/IColorResource.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace HeBianGu.AvaloniaUI.Theme 4 | { 5 | public interface IColorResource : IResource 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/LightBlueColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class LightBlueColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "浅蓝色"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Light.Blue.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/LightColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class LightColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "浅色"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Light.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/LightGrayColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class LightGrayColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "浅灰色"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Light.Gray.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/LightPurpleColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class LightPurpleColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "浅紫色"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Light.Purple.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Brushes/LightTransparentColorResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class LightTransparentColorResource : ResourceBase, IColorResource 7 | { 8 | public override string Name => "浅透明"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Brushes/Light.Transparent.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Extension.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Application; 2 | using HeBianGu.AvaloniaUI.Ioc; 3 | using System; 4 | 5 | namespace System 6 | { 7 | public static partial class Extension 8 | { 9 | 10 | public static IApplicationAxamlLoader UseTheme(this IApplicationAxamlLoader builder) 11 | { 12 | return builder; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/FontSizes/Default.axaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HeBianGu.AvaloniaUI.Theme.FontSizes 8 | { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/FontSizes/FontSizeResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class FontSizeResource : ResourceBase, IFontSizeResource 7 | { 8 | public override string Name => "标准"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/FontSizes/Default.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/FontSizes/FontSizeThemeType.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace HeBianGu.AvaloniaUI.Theme 4 | { 5 | //[TypeConverter(typeof(DisplayEnumConverter))] 6 | public enum FontSizeThemeType 7 | { 8 | [Display(Name = "常规")] 9 | Default = 0, 10 | [Display(Name = "大")] 11 | Large, 12 | [Display(Name = "小")] 13 | Small 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/FontSizes/IFontSizeResource.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Theme 2 | { 3 | public interface IFontSizeResource : IResource 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/FontSizes/LargeFontSizeResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class LargeFontSizeResource : ResourceBase, IFontSizeResource 7 | { 8 | public override string Name => "大"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/FontSizes/Large.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/FontSizes/SmallFontSizeResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class SmallFontSizeResource : ResourceBase, IFontSizeResource 7 | { 8 | public override string Name => "小"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/FontSizes/Small.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Layouts/ILayoutResource.cs: -------------------------------------------------------------------------------- 1 | namespace HeBianGu.AvaloniaUI.Theme 2 | { 3 | public interface ILayoutResource : IResource 4 | { 5 | 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Layouts/LargeLayoutResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class LargeLayoutResource : ResourceBase, ILayoutResource 7 | { 8 | public override string Name => "宽松"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Layouts/Large.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Layouts/LayoutResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class LayoutResource : ResourceBase, ILayoutResource 7 | { 8 | public override string Name => "标准"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Layouts/Default.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Layouts/LayoutThemeType.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace HeBianGu.AvaloniaUI.Theme 4 | { 5 | //[TypeConverter(typeof(DisplayEnumConverter))] 6 | public enum LayoutThemeType 7 | { 8 | [Display(Name = "常规")] 9 | Default = 0, 10 | [Display(Name = "宽松")] 11 | Large, 12 | [Display(Name = "紧凑")] 13 | Small 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Layouts/SmallLayoutResource.cs: -------------------------------------------------------------------------------- 1 | using HeBianGu.AvaloniaUI.Theme.Provider; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme 5 | { 6 | public class SmallLayoutResource : ResourceBase, ILayoutResource 7 | { 8 | public override string Name => "紧凑"; 9 | protected override Uri GetUri() 10 | { 11 | return new Uri("avares://HeBianGu.AvaloniaUI.Theme/Layouts/Small.axaml"); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Provider/IResource.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml.Styling; 2 | 3 | namespace HeBianGu.AvaloniaUI.Theme 4 | { 5 | public interface IResource 6 | { 7 | string Name { get; } 8 | ResourceInclude Resource { get; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Provider/ResourceBase.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml.Styling; 2 | using System; 3 | 4 | namespace HeBianGu.AvaloniaUI.Theme.Provider 5 | { 6 | public abstract class ResourceBase : IResource 7 | { 8 | public abstract string Name { get; } 9 | 10 | public ResourceInclude Resource => new ResourceInclude(GetUri()) { Source = GetUri() }; 11 | 12 | protected abstract Uri GetUri(); 13 | 14 | public override string ToString() 15 | { 16 | return Name; 17 | } 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Resources/BackgroundImage.axaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Resources/Brush.axaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Resources/FontSize.axaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Themes/HeBianGu.AvaloniaUI.Theme/Resources/Layout.axaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | --------------------------------------------------------------------------------