← スキル一覧に戻る

winui-patterns
by manx
⭐ 0🍴 0📅 2025年12月8日
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
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です