microsoft / microsoft/microsoft-ui-xaml

Proposal: Improve Microsoft.UI.Xaml.Window by Adding Dependency Property Support

Open
#10,358 7 comments 4 reactions 0 assignees View on GitHub
area-AppWindow area-XamlWindow feature proposal team-Core wpf-vs-winui-mismatch
Dominant language
C++
Stars
8.4k
Forks
942
Avg merge
2d 7h
Merged PRs (30d)
105

Description

The current **Microsoft.UI.Xaml.Window** class in WinUI lacks convenience APIs such as Width, Height, and other essential properties that developers commonly use in XAML-based applications. Additionally, **Window** does not inherit from DependencyObject or UIElement, preventing developers from adding **DependencyProperty** to it. While simple or full properties can be added, they do not function as expected in XAML at runtime and only work once when the application launches. Given that these limitations have persisted for years, it is crucial to support for DependencyProperty to allow more flexibility in windowing scenarios.

After a few years, the convenience api for window were finally unveiled in v1.7-exp3, but everyone was disappointed. Because access to it was allowed through the **AppWindow**.

Therefore, it is better to provide a way for creating dependency property. So that developers can easily meet their own needs and not wait months for Disappointing features from Microsoft.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing Microsoft.UI.Xaml.Window and the existing AppWindow path, then compare how DependencyObject and DependencyProperty are exposed elsewhere in WinUI. The issue names no implementation files or tests; completion would require a defined, tested design for dependency-property support and the requested window properties.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.