Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
164 commits
Select commit Hold shift + click to select a range
85dee8c
Fix Folder structure
tajbender Apr 16, 2026
ef0bd03
Set `StartPage` as the - well - starting Page
tajbender Apr 16, 2026
75405bd
Add `SwapChainPanel` to the header, forthcoming easter eggs will love it
tajbender Apr 16, 2026
633e9ff
Assets
tajbender Apr 16, 2026
1fe462f
Add amd Update Packages:
tajbender Apr 16, 2026
a980cc4
Add `AssetRipper.ICSharpCode.Decompiler`
tajbender Apr 16, 2026
84b526e
Add `WinUi-SailBoat` asset with transparency
tajbender Apr 16, 2026
c3a0859
Add Image stubs
tajbender Apr 16, 2026
752d68e
Reorder Assets
tajbender Apr 16, 2026
2d94ccc
Rename asset
tajbender Apr 16, 2026
077f4ff
Add `FeatureTile`s
tajbender Apr 16, 2026
c86dc2d
Refactor `StartPage.xaml`
tajbender Apr 16, 2026
06214d4
Refactor `FeatureTile`
tajbender Apr 16, 2026
6c97b51
Overhaul
tajbender Apr 16, 2026
eb715d4
Add Assets
tajbender Apr 16, 2026
91265de
Overhaul `StartPage`
tajbender Apr 16, 2026
31d38de
Add Asset `Vanara-64px.png`
tajbender Apr 16, 2026
f6789c4
Overhaul `StartPage`
tajbender Apr 17, 2026
8c2038b
Add `FeatureTile`s
tajbender Apr 17, 2026
3e05acf
Restyle `FeatureTile`
tajbender Apr 18, 2026
39cb0bb
Some UI fixes
tajbender Apr 18, 2026
59bdcf4
Add `Sampler.zip` to DOCS
tajbender Apr 18, 2026
0ac6a4f
Refactor `StartPage`
tajbender Apr 19, 2026
11ce86c
Minors
tajbender Apr 19, 2026
6de08db
Add `FloatingStatusBar`.
tajbender Apr 19, 2026
75395d4
Add `Assets\app-Icon.ifx`.
tajbender Apr 19, 2026
b0286d9
Add `Reflection`-Class: `Vanara.Jnana.Reflection.cs`
tajbender Apr 19, 2026
4be39ad
Add Asset `Insert_Disk2Play.psd` (Copilot-derived).
tajbender Apr 19, 2026
2b71f0f
Rename class `SelfReflection`.
tajbender Apr 19, 2026
87424aa
Add `FloatingStatusBar` to `StartPage`.
tajbender Apr 19, 2026
f3a2609
Add Assets
tajbender Apr 20, 2026
2b6a36d
Update `README.md`
tajbender Apr 20, 2026
7ace691
Update README.md
tajbender Apr 20, 2026
cd01822
Asset Refactoring
tajbender Apr 20, 2026
7e5c254
Update `Vanara.CodeGen 5.0.4`
tajbender Apr 20, 2026
df27bcc
Add `Generic.xaml`
tajbender Apr 20, 2026
74cb40b
Update Packages, add transitive Packages
tajbender Apr 20, 2026
1002591
Add `VanaraMonkey.png` (Take care: empty png stub!)
tajbender Apr 20, 2026
b0a64d6
Add `AssemblyElements.cs` from
tajbender Apr 20, 2026
a023922
Refactor
tajbender Apr 20, 2026
73fc56b
Add `NuGetPackages.cs` from `https://github.com/dahall/WinClassicSamp…
tajbender Apr 21, 2026
dcbadd5
Assets
tajbender Apr 21, 2026
eb67c0a
Style `AppBar`
tajbender Apr 22, 2026
838e34f
Set `ExtendsContentIntoTitleBar` to true.
tajbender Apr 22, 2026
5492fb6
Add `Styles/NavigationView/*`. Refactor Assets
tajbender Apr 22, 2026
9649429
Rename folder "WinUIClassicSamplesBrowser" to "Vanara-Jnana"
tajbender Apr 26, 2026
744d6d3
Cleanup Usings
tajbender Apr 27, 2026
9725d58
Re-Arrange folders for dahall's Reflection Classes: Moved to `NuGet` …
tajbender Apr 27, 2026
59bf750
Remove WinForms Sampler orphans
tajbender Apr 27, 2026
74f7082
Add `NuGetUtils` and `AssemblyLoaderService`
tajbender Apr 27, 2026
ce95bea
IMPORTANT: Add `XamlControlsResources` for WinUI default styles
tajbender Apr 27, 2026
a2e2260
Move `AssemblyLoaderService` to `Vanara/Services`
tajbender Apr 27, 2026
d8676cd
Add `SidebarControl`.
tajbender May 2, 2026
3b7ffd2
Refactor GUI
tajbender May 3, 2026
cab3bd6
Add `NavigationService` stub
tajbender May 3, 2026
da0e656
Add `NavButtonStyle.xaml`
tajbender May 3, 2026
1ce2cf8
Refactor TitleBar
tajbender May 3, 2026
3812cf8
Remove `DirectX Background Layer`.
tajbender May 4, 2026
a7e3c98
Rename `MainPage` to `ShellPage`.
tajbender May 4, 2026
644b85e
Refactor `SidebarControl`
tajbender May 4, 2026
84db2d7
Add `ShowSystemMenu()`.
tajbender May 4, 2026
8d0b7d8
Add packages
tajbender May 4, 2026
707d7c5
Cleanup
tajbender May 4, 2026
ee1e6ef
Add `Area 51`.
tajbender May 4, 2026
555bc95
Sett `CanDrag` to `true` for preparing `Drag and Drop` :)
tajbender May 4, 2026
17f2e52
Update Packages.
tajbender May 4, 2026
c921847
Cleanup.
tajbender May 4, 2026
2bb936f
Docs, Assets
tajbender May 5, 2026
d33b024
Cleanup nugets
tajbender May 5, 2026
6c8af8c
Gui
tajbender May 5, 2026
33ca4af
Gui
tajbender May 5, 2026
e2b32fd
Add `NavigationService`
tajbender May 5, 2026
01fb554
more GUI
tajbender May 5, 2026
9bdf236
Add `INavigationAware` interface stub.
tajbender May 5, 2026
158e787
Organize
tajbender May 5, 2026
4c2a99c
Add ISettingsSerializer interface for settings management
tajbender May 5, 2026
b49850e
assets
tajbender May 5, 2026
7e04135
refactor
tajbender May 5, 2026
cc6c588
refactor
tajbender May 5, 2026
f60f01e
Add TabView
tajbender May 6, 2026
14b5399
Add Styles to `TabView`
tajbender May 6, 2026
8e4fb8b
Overhaul Navigation Area 51.
tajbender May 6, 2026
11b3cdc
Refactor
tajbender May 6, 2026
733b748
Refactor
tajbender May 6, 2026
adfd2a3
Add Styles for `FeatureTile`
tajbender May 8, 2026
0bff77c
`SetWindowBounds()`. Refactor
tajbender May 8, 2026
a8ab8d0
Tweak the Gui a little bit
tajbender May 9, 2026
faae182
Re-enable deafult Window TitleBar.
tajbender May 9, 2026
3ed67bd
Add `Vanara Monkey` to TabView as background Watermark.
tajbender May 9, 2026
4ac10a6
Add `GitHubViewModel`.
tajbender May 9, 2026
0d190c4
Add `Parent Folder` and `Refresh` Buttons
tajbender May 10, 2026
8f43682
Add 1st Contracts for `Unified Namespace Platform`
tajbender May 10, 2026
31bd2ed
Add Shell 32 Provider stubs
tajbender May 10, 2026
50c5625
Add `NuGetsPage`
tajbender May 10, 2026
2ced5a8
Overhaul StartPage:
tajbender May 12, 2026
feed48c
Overhaul `SidebarControl`
tajbender May 14, 2026
73fa37c
Cleanup `StartPage`
tajbender May 25, 2026
32893be
Add `TabNavigationService`.
tajbender May 25, 2026
81e06ba
Open an `ApiExplorerPage` on startup
tajbender May 25, 2026
c2b6c92
`NuGetViewModel`
tajbender May 26, 2026
02085e5
Overhaul Page `*.xaml`s
tajbender May 26, 2026
38dcb86
Add construcotrs for `ApiExplorerPage`
tajbender May 26, 2026
f7d3e08
Cleanup
tajbender May 26, 2026
f0d8ae2
Overhaul `FloatingStatusBar`
tajbender May 26, 2026
f128377
Add Amiga-Disk Asset.
tajbender May 26, 2026
7e68457
Add `SettingsPage`
tajbender May 27, 2026
17d0fd9
Cleanup.
tajbender May 27, 2026
6e56423
Add optional `selectTab` paramater upon creation
tajbender May 27, 2026
1da5fbd
Overhaul `MainTabs`, the `TabView`
tajbender May 28, 2026
c09c521
Refactor XAMLs
tajbender May 29, 2026
1e5f8a6
Navigate to `Home` page at start-up
tajbender May 29, 2026
c50d309
Rename `ShellPage` to `GitHubPage`
tajbender May 31, 2026
5b81ddb
Add Resource files for i18n
tajbender May 31, 2026
5e1e13a
Add `UtilitiesPage`. Remove `ApiExplorerPage`.
tajbender May 31, 2026
f193913
Add `AssembliesPage`.
tajbender May 31, 2026
be763a7
Add `SettingsViewModel`
tajbender May 31, 2026
7a4d964
Update Navigation
tajbender May 31, 2026
7ac2ae8
Add `ShellPage`
tajbender May 31, 2026
d9c8be1
Refactor structure
tajbender May 31, 2026
a2c5b1f
Rename project to `Jnana`
tajbender May 31, 2026
342d835
Overhaul `StartPage`
tajbender May 31, 2026
2cf23bd
Overhaul `StartPage`
tajbender May 31, 2026
8b3f09b
Overhaul `SamplesPage`
tajbender May 31, 2026
6526ef4
Overhaul `MainWindow`.
tajbender May 31, 2026
334678b
Rename solution to `Vanara-Jnana`
tajbender May 31, 2026
8388954
Cleanup solution
tajbender May 31, 2026
73c6874
Add Release configuration
tajbender May 31, 2026
49d49ad
Add `MFC-App.ico` as temporary App-Icon
tajbender May 31, 2026
765c263
Add Assets
tajbender May 31, 2026
22c8a6a
Refactor
tajbender Jun 1, 2026
89b2f35
Added `GuruMeditationException`
tajbender Jun 1, 2026
fec1ba2
Added `GuruMeditationException`
tajbender Jun 1, 2026
47a14fd
Fix Merge Conflicts for `GuruMeditationException`
tajbender Jun 1, 2026
de1046b
Add `VoidPage`
tajbender Jun 2, 2026
1eedf5f
Overhaul `NavigationService`
tajbender Jun 3, 2026
b5c02a2
Overhaul `NavigationService`
tajbender Jun 3, 2026
4ccc079
Merge
tajbender Jun 3, 2026
56fe6b3
Add `VoidPageViewModel`
tajbender Jun 3, 2026
7eceef9
Overhaul Vanara Logo in the upper left
tajbender Jun 4, 2026
2f9e1b7
Add `INotifyPropertyChanged` Interface to `NuGetViewModel.cs`
tajbender Jun 4, 2026
f72dccd
Add three `ItemsRepeater` to `VoidPage`
tajbender Jun 4, 2026
b09615c
Add `NuGetViewModel`
tajbender Jun 4, 2026
ca03a33
Overhaul Navigation Area 51
tajbender Jun 4, 2026
0a29cc5
Cleanup XAML
tajbender Jun 4, 2026
3cb8f00
Cleanup XAML
tajbender Jun 4, 2026
e61de44
Overhaul `FloatingStatusBar`.
tajbender Jun 4, 2026
95ad935
Merge ``ShellPage
tajbender Jun 4, 2026
8d791c0
Apply ViewModels
tajbender Jun 4, 2026
91aeb71
`NavigationService`
tajbender Jun 4, 2026
7a8e49e
Refactor Namespace and Class Names
tajbender Jun 5, 2026
d5a9f69
Rename `NuGetsAreaViewModel`
tajbender Jun 5, 2026
4f986ac
Add INFO: `ContentPresenter` here!
tajbender Jun 5, 2026
8f0ff01
prj: Update Vanara packages to "5.0.5"
tajbender Jun 5, 2026
be15501
Remove `WebView2EnableCsWinRTProjection` property
tajbender Jun 5, 2026
54e0e5c
Remove package references
tajbender Jun 5, 2026
3fceb5f
Refactor `VoidPage`
tajbender Jun 5, 2026
b71a9f7
Refactor XAML´s
tajbender Jun 5, 2026
c44cb48
Refactor .cs
tajbender Jun 5, 2026
acaac4b
Rename and Cleanup `DisassemblerPage`
tajbender Jun 5, 2026
cadb860
Refactor: Remove `FrameFactory.cs`
tajbender Jun 5, 2026
eeabd18
Refactor and Cleanup
tajbender Jun 5, 2026
5da38a4
Merge pull request #14 from tajbender/Release-Candidate-NuGets
tajbender Jun 6, 2026
b9cd657
Refactor Namespaces: Reorganize `namespace ClassicSamplesBrowser.*`
tajbender Jun 6, 2026
e552b3a
Remove `Microsoft.Web.WebView2` package (IMPORTANT!)
tajbender Jun 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 34 additions & 22 deletions WinUiClassicSamplesBrowser/App.xaml → Vanara-Jnana/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,16 @@
xmlns:ui="using:Microsoft.UI.Xaml"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<ResourceDictionary>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</Application.Resources>
<!--<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources/>
<ResourceDictionary Source="Styles/NavigationView/NavigationView.xaml"/>
<ResourceDictionary Source="Styles/NavigationView/NavigationViewItem.xaml"/>
<ResourceDictionary Source="Styles/NavigationView/NavigationViewItemPresenter.xaml"/>
<ResourceDictionary Source="Styles/NavigationView/NavigationViewItemSeparator.xaml"/>
</ResourceDictionary.MergedDictionaries>
<CornerRadius x:Key="ControlCornerRadius">4</CornerRadius>
<SolidColorBrush x:Key="MicaBaseAltFillColorDefaultBrush" Color="{ThemeResource SystemBaseLowColor}" />
<SolidColorBrush x:Key="MicaBaseFillColorDefaultBrush" Color="{ThemeResource SystemBaseMediumColor}" />
Expand All @@ -16,31 +25,37 @@
<SolidColorBrush x:Key="TabViewScrollButtonForeground" Color="{ThemeResource SystemBaseMediumColor}" />
<system:Double x:Key="TabViewItemAddButtonFontSize">14</system:Double>
<system:Double x:Key="TabViewItemScrollButtonFontSize">14</system:Double>
<!--<Style TargetType="TabViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabViewItem">
<Grid x:Name="RootGrid" Background="{TemplateBinding Background}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ContentPresenter x:Name="HeaderContentPresenter" Grid.Column="0" Content="{TemplateBinding Header}" Margin="12,0,12,0" VerticalAlignment="Center" />
<Button x:Name="CloseButton" Grid.Column="1" Width="28" Height="28" Margin="0,0,4,0" VerticalAlignment="Center">
<SymbolIcon Symbol="Cancel" />
</Button>
</Grid>
--><!--<ControlTemplate.Triggers>
</ResourceDictionary>-->

</Application>



<!--<Style TargetType="TabViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabViewItem">
<Grid x:Name="RootGrid" Background="{TemplateBinding Background}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ContentPresenter x:Name="HeaderContentPresenter" Grid.Column="0" Content="{TemplateBinding Header}" Margin="12,0,12,0" VerticalAlignment="Center" />
<Button x:Name="CloseButton" Grid.Column="1" Width="28" Height="28" Margin="0,0,4,0" VerticalAlignment="Center">
<SymbolIcon Symbol="Cancel" />
</Button>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="RootGrid" Property="Background" Value="{ThemeResource SystemControlHighlightAccentBrush}" />
<Setter TargetName="HeaderContentPresenter" Property="Foreground" Value="White" />
</Trigger>
</ControlTemplate.Triggers>--><!--
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>-->
<!--<Style TargetType="TabView">
</Style>
<Style TargetType="TabView">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabView">
Expand All @@ -61,6 +76,3 @@
</Setter.Value>
</Setter>
</Style>-->
</ResourceDictionary>
</Application.Resources>
</Application>
42 changes: 42 additions & 0 deletions Vanara-Jnana/App.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
using Microsoft.UI.Windowing;
using Microsoft.UI.Xaml;
//using LaunchActivatedEventArgs = Windows.ApplicationModel.Activation.LaunchActivatedEventArgs;

namespace ClassicSamplesBrowser;

public partial class App : Application
{
private MainWindow? _mainWindow;

public App()
{
InitializeComponent();
// TODO: AppWindowTitleBar.SetIcon("Assets/VanaraMonkey.png");
// TODO: AppWindowTitleBar.SetDragRegion(new Rect(0, 0, 100, 32));
}
private MainWindow? GetOrCreateMainWindow(bool allowInitialCreation = false)
{
if (_mainWindow == null && allowInitialCreation)
{
_mainWindow = new MainWindow
{
// ExtendsContentIntoTitleBar = true
};

// var titleBar = _mainWindow.AppWindow.TitleBar;
// _mainWindow.SetTitleBar(MyDragRegion);
// TODO: titleBar.SetIcon("Assets/VanaraMonkey.png");
}
// = //new Windows.Graphics.SizeInt32(1200, 800);
//_Window.AppWindow.Size...



return _mainWindow;
}

protected override void OnLaunched(LaunchActivatedEventArgs args)
{
GetOrCreateMainWindow(true)?.Activate();
}
}
Binary file added Vanara-Jnana/Assets/Vanara/3,5-Disk copy.psd
Binary file not shown.
Binary file added Vanara-Jnana/Assets/Vanara/3,5-Disk.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Vanara-Jnana/Assets/Vanara/3,5-Disk.psd
Binary file not shown.
Binary file added Vanara-Jnana/Assets/Vanara/Amiga-Disk-Drive.psd
Binary file not shown.
Binary file added Vanara-Jnana/Assets/Vanara/Amiga-Disk.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Vanara-Jnana/Assets/Vanara/Amiga-Disk.psd
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added Vanara-Jnana/Assets/Vanara/Insert_Disk2Play.psd
Binary file not shown.
Binary file added Vanara-Jnana/Assets/Vanara/MFC-App.ico
Binary file not shown.
Binary file added Vanara-Jnana/Assets/Vanara/Vanara-64px.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Vanara-Jnana/Assets/VanaraMonkey.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,652 changes: 1,652 additions & 0 deletions Vanara-Jnana/Assets/WinUi-SailBoat-Header.pdn

Large diffs are not rendered by default.

Binary file added Vanara-Jnana/Assets/app-Icon.ifx
Binary file not shown.
10 changes: 10 additions & 0 deletions Vanara-Jnana/DOCS/ReadMe.de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# WinUI Classic Samples Browser \ Docs

## Content of this folder

### WinForms Sampler
[Download Sampler.zip](./Sampler.zip)

See [Impact of .net runtime when dealing with low-level Windows-Messages, follow-up: Classic Samples Browser #606](https://github.com/dahall/Vanara/discussions/606#discussioncomment-16492844) discussion.

### docs.assets folder - various assets used for documentation files
143 changes: 143 additions & 0 deletions Vanara-Jnana/DOCS/ReadMe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# Vanara Jñāna

*A Knowledge Explorer for the Vanara Windows API Library*

Vanara Jñāna is an interactive, WinUI 3–based explorer for the **Vanara** library.
It provides a unified interface to browse APIs, inspect Shell objects, explore samples, and understand how the Vanara toolkit maps to the Windows platform.

The goal of Jñāna is to make the Vanara ecosystem more accessible — for contributors, maintainers, and developers who want to understand the structure and capabilities of the library.

---

## ✨ Features

- **API Explorer**
Navigate Vanara namespaces, types, functions, constants, and structures.

- **Shell & File Explorer Integration**
Visualize Shell items, folders, PIDLs, and related COM structures using Vanara’s Shell32 bindings.

- **Samples Browser**
Browse runnable code samples demonstrating how to use Vanara APIs in real scenarios.

- **WinUI 3 Interface**
Modern, fluent UI with navigation, search, and responsive layout.

- **Extensible Architecture**
Designed to grow with the Vanara library — new modules can be added without restructuring the core.

---

## 🧱 Technology Stack

- **WinUI 3 / Windows App SDK 1.6**
- **.NET 8**
- **Vanara 4.x**
- **C#**
- **MVU/MVVM‑friendly architecture**

---

## 📁 Project Structure
### Root: ̀ Vanara Jñāna
- App.xaml
- 📁 /Controls
- 📁 /Models
- 📁 /Pages
- ApiExplorerPage.xaml
- ShellExplorerPage.xaml
- SamplesPage.xaml
- SettingsPage.xaml
- 📁 /Services
- 📁 /ViewModels

---

## 🚀 Getting Started

### Prerequisites
- Windows 11
- Visual Studio 2022 (17.10+)
- Windows App SDK 1.6
- .NET 8 SDK

### Build & Run

```powershell
git clone https://github.com/<your-repo>/Vanara.Jnana.git
cd Vanara.Jnana
dotnet build
dotnet run
```

# Roadmap

[ ] Full Shell namespace visualization

[ ] Integrated COM inspector

[ ] Live API search with fuzzy matching

[ ] Sample runner with output capture

[ ] Plugin system for community extensions

[ ] Themed UI (Light/Dark/Mica/Custom)

# 🤝 Contributing

Contributions are welcome!

Please open issues for bugs or feature requests, and submit pull requests for improvements.

If you want to add features, fix bugs, or improve documentation:

Fork the repository

Create a feature branch

Submit a Pull Request

Please follow the existing code style and include clear commit messages.

📜 License

This project is licensed under the MIT License.
See LICENSE for details.

----
old version:
----

## Introduction
This Repository is an example of [WinClassicSamples](https://github.com/dahall/WinClassicSamplesCS/) using the Vanara
libraries in a modern `WinUi 3` on `WinAppSDK` environment.

The original WinClassicSamples repository is a collection of samples that demonstrate the use of the Windows API in C#.

The goal is to demonstrate the use of the Vanara libraries in a side-by-side model with full featured modern WinUi environment.

This repository is intended to be a reference for developers who want to use the Vanara libraries in their own projects, and
to provide a starting point for those who want to learn how to use the Vanara libraries in a WinUI3 App.

#### Project Intent
Test and validate that the structures, methods and interfaces in Vanara using known code and outcomes.
Demonstrate the use of the Vanara libraries in a side-by-side model with the native Win32 API.

#### Getting Started
First, take a look at [Template Studio for WinUI (C#)](https://marketplace.visualstudio.com/items?itemName=TemplateStudio.TemplateStudioForWinUICs),
available through Visual Studio Marketplace:

> _Template Studio for WinUI accelerates the creation of new WinUI apps using a wizard-based UI._
>
> Projects created with this extension contain well-formed, readable code and incorporate the latest development features while implementing proven patterns and leading practices. The generated code includes links to documentation and TODO comments that provide useful insight and guidance for turning the generated projects into production applications.
>
> To get started, install the extension, then select the corresponding Template Studio project template when creating a new project in Visual Studio. Name your project, then click Create to launch the Template Studio wizard.


# Resources
- [Vanara Git](https://github.com/dahall/Vanara)
- [WinClassicSamples using ``Vanara and WinForms`` Git](https://github.com/dahall/WinClassicSamplesCS)
- [Official WinUI3 on Microsoft.com](https://docs.microsoft.com/en-us/windows/apps/winui/winui3/)
- [Native Microsoft WinClassicSamples on GitHub](https://github.com/Microsoft/Windows-classic-samples)
- [Template Studio for WinUI (C#) on VisualStudio Marketplace](https://marketplace.visualstudio.com/items?itemName=TemplateStudio.TemplateStudioForWinUICs)
Binary file not shown.
6 changes: 6 additions & 0 deletions Vanara-Jnana/Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<Project>
<ItemGroup>
<PackageVersion Include="Microsoft.Web.WebView2" />
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.8.0" />
</ItemGroup>
</Project>
23 changes: 23 additions & 0 deletions Vanara-Jnana/Helpers/GuruMeditationException.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Vanara.PInvoke;

namespace Jnana.Helpers;

public class GuruMeditationException : Exception
{
public GuruMeditationException()
: base("Guru Meditation") { }

public GuruMeditationException(string message)
: base(message) { }

public GuruMeditationException(string message, Exception inner)
: base(message, inner) { }

public GuruMeditationException(HRESULT hRESULT)
: base("Guru Meditation") { }
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Microsoft.UI.Dispatching;

namespace ClassicSamplesBrowser.Helpers;
namespace Jnana.Helpers;

public class WindowsSystemDispatcherQueueHelper
{
Expand Down
Loading