
winui-patterns
by manx
SKILL.md
name: winui-patterns description: WinUI 3 and XAML patterns for the Pomodoro Time Tracker. Activates when working with ViewModels, XAML pages, data binding, or UI components. allowed-tools:
- Read
- Glob
- Grep
WinUI 3 Patterns Skill
Activates when: ViewModels, XAML, data binding, or UI components mentioned.
Shared WinUI Guidelines
@/.claude/prompts/winui/mvvm/no-value-converters.md
@/.claude/prompts/winui/fundamentals/page-setup.md
@/.claude/prompts/winui/mvvm/dialog-callbacks.md
@/.claude/prompts/winui/mvvm/timer-pattern.md
@~/.claude/prompts/dotnet/fundamentals/async-await.md
Project-Specific Conventions
CRITICAL: No Value Converters
// ❌ NEVER
Visibility="{x:Bind Converter={StaticResource BoolToVisibility}}"
// ✅ ALWAYS
public bool IsVisible => SomeCondition;
Visibility="{x:Bind ViewModel.IsVisible, Mode=OneWay}"
WinUI 3's x:Bind auto-converts bool to Visibility.
Always Use x:Bind
<!-- ✅ CORRECT - Compile-time checked -->
<TextBox Text="{x:Bind ViewModel.Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<!-- ❌ WRONG - Runtime binding -->
<TextBox Text="{Binding Name, Mode=TwoWay}" />
Binding Modes
| Mode | Use Case |
|---|---|
OneTime | Static data |
OneWay | Display-only |
TwoWay | User input |
Key Namespaces
using PomodoroTimeTracker.ViewModels;
using PomodoroTimeTracker.Application.DTOs;
using PomodoroTimeTracker.Application.Interfaces;
DI Registration
// ViewModels - Transient (CRUD) or Singleton (Timers)
services.AddTransient<ClientDetailViewModel>();
services.AddSingleton<PomodoroViewModel>();
// UI Services - Singleton
services.AddSingleton<INavigationService, NavigationService>();
services.AddSingleton<IDialogService, DialogService>();
Common Mistakes to Avoid
- InitializeComponent before ViewModel - ViewModel must exist first
- Binding instead of x:Bind - Always use x:Bind
- async void - Only for framework handlers
- Value converters - Use explicit properties instead
- XamlRoot missing - ContentDialog requires
XamlRoot = this.XamlRoot
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon