├── .editorconfig ├── .gitattributes ├── .gitignore ├── AK.Toolkit.WinUI3.ButtonExtensionsSampleApp ├── AK.Toolkit.WinUI3.ButtonExtensionsSampleApp.csproj ├── App.xaml ├── App.xaml.cs ├── Assets │ ├── LockScreenLogo.scale-200.png │ ├── SplashScreen.scale-200.png │ ├── Square150x150Logo.scale-200.png │ ├── Square44x44Logo.scale-200.png │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── StoreLogo.png │ └── Wide310x150Logo.scale-200.png ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── Package.appxmanifest ├── Properties │ └── launchSettings.json └── app.manifest ├── AK.Toolkit.sln ├── Assets ├── auto-complete-textbox-sample-screenshot.png ├── auto-complete-textbox-screenshot.png ├── richtextblock-extensions-screenshot.png └── scrollbar-extensions-annotations-screenshot.png ├── LICENSE ├── README.md ├── Samples ├── AK.Toolkit.Samples.GridIndexer │ ├── AK.Toolkit.Samples.GridIndexer.csproj │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ ├── LockScreenLogo.scale-200.png │ │ ├── SplashScreen.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── StoreLogo.png │ │ └── Wide310x150Logo.scale-200.png │ ├── GridIndexerPage.xaml │ ├── GridIndexerPage.xaml.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Package.appxmanifest │ ├── Properties │ │ └── launchSettings.json │ ├── UsualGridPage.xaml │ ├── UsualGridPage.xaml.cs │ └── app.manifest ├── AK.Toolkit.Samples.ScrollBarExtensions │ ├── AK.Toolkit.Samples.ScrollBarExtensions.csproj │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ ├── LockScreenLogo.scale-200.png │ │ ├── SplashScreen.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── StoreLogo.png │ │ └── Wide310x150Logo.scale-200.png │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Package.appxmanifest │ ├── Page1.xaml │ ├── Page1.xaml.cs │ ├── Properties │ │ └── launchSettings.json │ └── app.manifest ├── AK.Toolkit.Samples.WinUI3.ScrollBarExtensions │ ├── AK.Toolkit.Samples.WinUI3.ScrollBarExtensions.csproj │ ├── AnnotationsPage.xaml │ ├── AnnotationsPage.xaml.cs │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ ├── LockScreenLogo.scale-200.png │ │ ├── SplashScreen.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── StoreLogo.png │ │ └── Wide310x150Logo.scale-200.png │ ├── DataGridsPage.xaml │ ├── DataGridsPage.xaml.cs │ ├── EmptyPage.xaml │ ├── EmptyPage.xaml.cs │ ├── GridViewsPage.xaml │ ├── GridViewsPage.xaml.cs │ ├── ListViewsPage.xaml │ ├── ListViewsPage.xaml.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Package.appxmanifest │ ├── Properties │ │ └── launchSettings.json │ ├── ScrollBarsPage.xaml │ ├── ScrollBarsPage.xaml.cs │ ├── ScrollViewersPage.xaml │ ├── ScrollViewersPage.xaml.cs │ └── app.manifest ├── AK.Toolkit.Samples │ ├── AK.Toolkit.Samples.csproj │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ ├── LockScreenLogo.scale-200.png │ │ ├── SplashScreen.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── StoreLogo.png │ │ └── Wide310x150Logo.scale-200.png │ ├── ControlBackgroundGetter.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── NullableBooleanToBooleanConverter.cs │ ├── Package.appxmanifest │ ├── Properties │ │ └── launchSettings.json │ ├── SamplesPage.xaml │ ├── SamplesPage.xaml.cs │ └── app.manifest ├── AK.Toolkit.WinUI3.RichTextBlockExtensionsSampleApp │ ├── AK.Toolkit.WinUI3.RichTextBlockExtensionsSampleApp.csproj │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ ├── LockScreenLogo.scale-200.png │ │ ├── SplashScreen.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── StoreLogo.png │ │ └── Wide310x150Logo.scale-200.png │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── NavigationViewExtensions.cs │ ├── Package.appxmanifest │ ├── Properties │ │ └── launchSettings.json │ ├── ShellPage.xaml │ ├── ShellPage.xaml.cs │ ├── SubPage.xaml │ ├── SubPage.xaml.cs │ ├── TextHighlightablePage.cs │ └── app.manifest └── AK.Toolkit.WinUI3.TextBlockExSampleApp │ ├── AK.Toolkit.WinUI3.TextBlockExSampleApp.csproj │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ ├── LockScreenLogo.scale-200.png │ ├── SplashScreen.scale-200.png │ ├── Square150x150Logo.scale-200.png │ ├── Square44x44Logo.scale-200.png │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── StoreLogo.png │ └── Wide310x150Logo.scale-200.png │ ├── ButtonPage.xaml │ ├── ButtonPage.xaml.cs │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── NavigationViewExtensions.cs │ ├── Package.appxmanifest │ ├── Properties │ └── launchSettings.json │ ├── ShellPage.xaml │ ├── ShellPage.xaml.cs │ ├── SubPage.xaml │ ├── SubPage.xaml.cs │ ├── TextHighlightablePage.cs │ └── app.manifest ├── WinUI3 ├── AK.Toolkit.WinUI3.AutoCompleteTextBox │ ├── AK.Toolkit.WinUI3.AutoCompleteTextBox.csproj │ ├── AutoCompleteTextBox.cs │ └── Themes │ │ └── Generic.xaml ├── AK.Toolkit.WinUI3.ButtonExtensions │ ├── AK.Toolkit.WinUI3.ButtonExtensions.csproj │ └── ButtonExtensions.cs ├── AK.Toolkit.WinUI3.GridIndexer │ ├── AK.Toolkit.WinUI3.GridIndexer.csproj │ ├── GridIndexer.cs │ ├── GridIndexerAttachedProperty.cs │ └── GridIndexerException.cs ├── AK.Toolkit.WinUI3.NumberBoxEx │ ├── AK.Toolkit.WinUI3.NumberBoxEx.csproj │ └── NumberBoxEx.cs ├── AK.Toolkit.WinUI3.RichTextBlockExtensions │ ├── AK.Toolkit.WinUI3.RichTextBlockExtensions.csproj │ └── RichTextBlockExtensions.cs ├── AK.Toolkit.WinUI3.ScrollBarExtensions │ ├── AK.Toolkit.WinUI3.ScrollBarExtensions.csproj │ ├── ScrollBarExtensions.Annotations.cs │ ├── ScrollBarExtensions.KeepExpanded.cs │ └── ScrollBarExtensions.cs └── AK.Toolkit.WinUI3.TextBlockEx │ ├── AK.Toolkit.WinUI3.TextBlockEx.csproj │ ├── TextBlockEx.cs │ └── Themes │ └── Generic.xaml └── winui.png /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/AK.Toolkit.WinUI3.ButtonExtensionsSampleApp.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | WinExe 4 | net8.0-windows10.0.19041.0 5 | 10.0.17763.0 6 | AK.Toolkit.WinUI3.ButtonExtensionsSampleApp 7 | app.manifest 8 | x86;x64;ARM64 9 | win-x86;win-x64;win-arm64 10 | win10-x86;win10-x64;win10-arm64 11 | win-$(Platform).pubxml 12 | true 13 | true 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 49 | 50 | true 51 | 52 | -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.UI.Xaml; 2 | using Microsoft.UI.Xaml.Controls; 3 | using Microsoft.UI.Xaml.Controls.Primitives; 4 | using Microsoft.UI.Xaml.Data; 5 | using Microsoft.UI.Xaml.Input; 6 | using Microsoft.UI.Xaml.Media; 7 | using Microsoft.UI.Xaml.Navigation; 8 | using Microsoft.UI.Xaml.Shapes; 9 | using System; 10 | using System.Collections.Generic; 11 | using System.IO; 12 | using System.Linq; 13 | using System.Runtime.InteropServices.WindowsRuntime; 14 | using Windows.ApplicationModel; 15 | using Windows.ApplicationModel.Activation; 16 | using Windows.Foundation; 17 | using Windows.Foundation.Collections; 18 | 19 | // To learn more about WinUI, the WinUI project structure, 20 | // and more about our project templates, see: http://aka.ms/winui-project-info. 21 | 22 | namespace AK.Toolkit.WinUI3.ButtonExtensionsSampleApp; 23 | /// 24 | /// Provides application-specific behavior to supplement the default Application class. 25 | /// 26 | public partial class App : Application 27 | { 28 | /// 29 | /// Initializes the singleton application object. This is the first line of authored code 30 | /// executed, and as such is the logical equivalent of main() or WinMain(). 31 | /// 32 | public App() 33 | { 34 | this.InitializeComponent(); 35 | } 36 | 37 | /// 38 | /// Invoked when the application is launched. 39 | /// 40 | /// Details about the launch request and process. 41 | protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args) 42 | { 43 | m_window = new MainWindow(); 44 | m_window.Activate(); 45 | } 46 | 47 | private Window m_window; 48 | } 49 | -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewKeepCoding/AK.Toolkit/3da24a4991a8d9f71b53d349ee9d359f3f4acc44/AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewKeepCoding/AK.Toolkit/3da24a4991a8d9f71b53d349ee9d359f3f4acc44/AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewKeepCoding/AK.Toolkit/3da24a4991a8d9f71b53d349ee9d359f3f4acc44/AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewKeepCoding/AK.Toolkit/3da24a4991a8d9f71b53d349ee9d359f3f4acc44/AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewKeepCoding/AK.Toolkit/3da24a4991a8d9f71b53d349ee9d359f3f4acc44/AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewKeepCoding/AK.Toolkit/3da24a4991a8d9f71b53d349ee9d359f3f4acc44/AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/StoreLogo.png -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewKeepCoding/AK.Toolkit/3da24a4991a8d9f71b53d349ee9d359f3f4acc44/AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /AK.Toolkit.WinUI3.ButtonExtensionsSampleApp/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 24 | 28 | 32 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Samples/AK.Toolkit.WinUI3.TextBlockExSampleApp/ButtonPage.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace AK.Toolkit.WinUI3.TextBlockExSampleApp; 2 | 3 | public sealed partial class ButtonPage : TextHighlightablePage 4 | { 5 | public ButtonPage() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Samples/AK.Toolkit.WinUI3.TextBlockExSampleApp/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 22 | 23 | 26 | 27 |