Skip to content

Merge 2025-11-12 from base repo#2

Merged
luca-domenichini merged 64 commits intomainfrom
merge-2025-11-12
Nov 12, 2025
Merged

Merge 2025-11-12 from base repo#2
luca-domenichini merged 64 commits intomainfrom
merge-2025-11-12

Conversation

@luca-domenichini
Copy link
Owner

Merge from base repo.

  • Update
  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes

Nuklon and others added 30 commits October 25, 2025 20:30
…storing Maximized State via Code lepoco#1453 (lepoco#1466)

* Fix: Title Bar MaxButton

Fix: Title Bar MaxButton When Maximizing Window Programmatically

* Update: Improved Client Area Border Handling on Programmatic Maximize

Update: Improved Client Area Border Handling on Programmatic Maximize
* Fix lepoco#1551

* Remove Transparent background from Grid
Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
* tests: Update tests
* fix: Rollback XAML styling
* Fix PasswordBox not pasting correctly

* Refactor GetNewPassword to use TextChange collection

---------

Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
…#1543)

Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
…o#1541)

Updated the `Border` elements for the "Top" and "Footer" sections
in `NavigationViewCompact.xaml` to include a `BorderThickness`
property with a value of `.5`. This ensures a uniform appearance
for the separators across the UI.

Fixes issue lepoco#1514

Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
* fix: Fix system tray right-click menu not displaying

* fix: Fix system tray right-click menu not displaying

* Update src/Wpf.Ui.Tray/Controls/NotifyIcon.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Wpf.Ui.Tray/Controls/NotifyIcon.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Wpf.Ui.Tray/Controls/NotifyIcon.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Wpf.Ui.Tray/Controls/NotifyIcon.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add tray menu demo

* Comment out Menu DataContext update in NotifyIcon

Commented out the line that updates Menu's DataContext to prevent potential issues.

* Change trayMenuItems type from object to Control

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
…oco#1560)

* fix: restore window resize capability in title bar area

- Split `TitleBar` class into partial classes, add `TitleBar.WindowResize.cs` file to separate window resize logic, maintaining code modularity and single responsibility.

- Add `WM_DPICHANGED` message enum value in `User32.cs` and fix `GetWindowRect` method parameter types.

* refactor(User32): use WinDef.RECT in User32.GetWindowRect

Follow the existing convention of using the WinDef.RECT alias.

* chore: Format code

---------

Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
…epoco#1532)

* Update NavigationViewConstants.xaml

* Update NavigationViewCompact.xaml
…ce (lepoco#1533)

* Update UiElementExtensions.cs

* Update UiElementExtensions.cs

---------

Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
…oco#1529)

* Update NavigationLeftFluent.xaml

* Update NavigationViewBasePaneButtonStyle.xaml

* Update NavigationViewBottom.xaml

* Update NavigationViewCompact.xaml

* Update NavigationViewLeftMinimalCompact.xaml

* Update NavigationViewTop.xaml
…epoco#1523)

* Update DropDownButton.cs

* Update DropDownButton.cs
* Fix RadioButton issues

* Update Light.xaml

* Update Dark.xaml

* Update RadioButton.xaml

---------

Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
…poco#1472)

* Add files via upload

* Update ContextMenu.xaml

* Update MenuItem.xaml

* Update ToolTip.xaml

* Update EffectThicknessDecorator.cs

Add Animation stuff.

* Update ComboBox.xaml
* Update DatePicker.xaml

* Update Calendar.xaml

* Update DatePicker.xaml

* Create DatePickerButtonPaddingConverter.cs

* Create NegativeThicknessConverter.cs

* Update DatePicker.xaml

* Delete src/Wpf.Ui/Converters/NegativeThicknessConverter.cs

* Do the same styling here as TextBox

Reference: https://github.com/lepoco/wpfui/pull/1520/files
evandrofadul and others added 13 commits November 7, 2025 15:02
…e properties to `NavigationView` component (lepoco#1464)

* Add IsTopAndFooterSeparatorVisible property to NavigationView component

* Split IsTopAndFooterSeparatorVisible into IsTopSeparatorVisible and IsFooterSeparatorVisible

---------

Co-authored-by: pomian <13592821+pomianowski@users.noreply.github.com>
* Fix various fill colors

* Update Dark.xaml

* Update Dark.xaml
* Update PasswordBox.cs

* Center buttons/icons to follow TextBox style

* Update PasswordBox.xaml

* Update PasswordBox.xaml

* Update PasswordBox.xaml

* Unify remainder
…t code (lepoco#1564)

* chore: Prepare tools

* chore: Format code

* fix: Disable border when inactive in Win11
* Remove unused pinvoke.

* Initial changes to CsWin32.

* Move all of UxTheme to CsWin32.

* Formatting...

* Initial User32 bits.

* Convert User32 to CsWin32.

* Remove a bit more.

* Initial DwmApi changes.

* Finalize DwnApi Interop.

* Shell to CsWin32.

* Another from User32.

* Fix titlebar coloring.

* Replace the rest with CsWin32.

* This is no longer used now.

* Formatting.

---------

Co-authored-by: Nuklon <23340481+Nuklon@users.noreply.github.com>
Co-authored-by: Nuklon <23340481+Nuklon@users.noreply.github.com>
* feat: Bump .NET 10

* chore: Bump drawing common

* chore: Do not fail on error

* ci: Update pipelines

* fix: Ignore MC3080

* drop internal for .NET 10
Copilot AI review requested due to automatic review settings November 12, 2025 14:55
@luca-domenichini luca-domenichini merged commit 6366d69 into main Nov 12, 2025
6 checks passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR merges updates from the base repository dated 2025-11-12. The changes include upgrading the target framework from .NET 9.0 to .NET 10.0, introducing a new integration testing infrastructure using FlaUI and xUnit v3, migrating from manual P/Invoke declarations to Microsoft.Windows.CsWin32, and various UI control improvements and theme refinements.

  • Framework upgrade to .NET 10.0-windows
  • New integration test project with FlaUI for UI automation testing
  • Migration to CsWin32 for Windows API interop, removing manual P/Invoke code
  • UI control enhancements (ToggleSwitch, RadioButton, PasswordBox, SplitButton, etc.)
  • Theme color updates and new pressed state brushes
  • TitleBar window resize support improvements

Reviewed Changes

Copilot reviewed 176 out of 176 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/Wpf.Ui.UnitTests/Wpf.Ui.UnitTests.csproj Upgraded target framework to net10.0-windows
tests/Wpf.Ui.Gallery.UnitTests/Wpf.Ui.Gallery.UnitTests.csproj Removed entire project file
tests/Wpf.Ui.Gallery.IntegrationTests/* Added new integration test project with xUnit v3 and FlaUI
src/Wpf.Ui/Wpf.Ui.csproj Updated target frameworks, added CsWin32 package, removed PolySharp and StyleCop
src/Wpf.Ui/Interop/* Migrated to CsWin32, removed manual P/Invoke declarations
src/Wpf.Ui/Controls/* Various UI improvements and bug fixes across multiple controls
src/Wpf.Ui/Resources/Theme/* Updated theme colors and added new pressed state brushes

Comment on lines +12 to +24
extension(DWMWINDOWATTRIBUTE attr)
{
/// <summary>
/// Gets the undocumented window attribute for enabling Mica effect on a window.
/// </summary>
public static DWMWINDOWATTRIBUTE DWMWA_MICA_EFFECT => (DWMWINDOWATTRIBUTE)1029;

/// <summary>
/// Gets the window attribute used to enable immersive dark mode prior to Windows 11.
/// </summary>
public static DWMWINDOWATTRIBUTE DMWA_USE_IMMERSIVE_DARK_MODE_OLD =>
DWMWINDOWATTRIBUTE.DWMWA_USE_IMMERSIVE_DARK_MODE - 1;
}
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'extension' keyword syntax is not standard C#. This appears to be an attempt to use C# 13's extension types feature, but the syntax is incorrect. Extensions should be declared using proper extension type syntax or as static extension methods. This code will likely not compile.

Copilot uses AI. Check for mistakes.
Comment on lines +705 to +709
if (message == PInvoke.WM_NCHITTEST)
{
if (TrailingContent is UIElement || Header is UIElement || CenterContent is UIElement)
{
UIElement? headerLeftUIElement = Header as UIElement;
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent indentation detected. Lines 705-716 use tabs while the rest of the file uses spaces. This creates inconsistent formatting and should be corrected to match the project's indentation style.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.