Expert guide for .NET 10.0 WPF MVVM application development with evidence timeline domain knowledge
Expert guidance for developing a .NET 10.0 WPF evidence timeline management application following MVVM architecture patterns.
This skill provides comprehensive development guidance for a Windows Presentation Foundation (WPF) application built on .NET 10.0. The application manages evidence timelines and follows the Model-View-ViewModel (MVVM) pattern for clean separation of concerns.
1. **Restore dependencies**: Run `dotnet restore` to fetch NuGet packages
2. **Build the project**: Use `dotnet build evidence_timeline.csproj` (add `-c Release` for production builds)
3. **Launch application**: Execute `dotnet run --project evidence_timeline.csproj`
4. **Clean artifacts**: Use `dotnet clean` to remove `bin/` and `obj/` folders
5. **Format code**: Run `dotnet format` to apply consistent C# styling
- Use xUnit framework in `tests/` folder (e.g., `EvidenceTimeline.Tests`)
- Follow naming: `MethodName_Scenario_ExpectedResult`
- Run with `dotnet test`
Organize code following these conventions:
**View Models**:
**Views**:
**Models**:
**Entry Points**:
**Naming**:
**Formatting**:
```csharp
public void ProcessTimeline()
{
if (timeline != null)
{
// Logic here
}
}
```
**Null Safety**:
**Element Naming**:
**Layout**:
**Styles and Resources**:
```xaml
<ResourceDictionary Source="Assets/Styles/CommonStyles.xaml"/>
<Button Style="{StaticResource PrimaryButtonStyle}"/>
```
**Examples**:
Include in every PR:
1. **Summary**: Clear description of changes and motivation
2. **Validation**: Steps taken (`dotnet build`, `dotnet run`, manual testing)
3. **UI Changes**: Screenshots or detailed notes for visual modifications
4. **Test Results**: Output from `dotnet test` when tests exist
5. **Breaking Changes**: Call out any API or behavior changes
1. Create model classes in `Models/` if needed
2. Implement business logic in `Services/`
3. Create view model in `ViewModels/` with property change notifications
4. Design UI in `Views/` with XAML
5. Wire view model to view via data context
6. Test with `dotnet run`
```csharp
public class TimelineViewModel : INotifyPropertyChanged
{
private ICommand _addEventCommand;
public ICommand AddEventCommand => _addEventCommand ??= new RelayCommand(
execute: () => AddEvent(),
canExecute: () => CanAddEvent()
);
private void AddEvent() { /* Logic */ }
private bool CanAddEvent() { /* Validation */ }
}
```
```xaml
<Window x:Class="EvidenceTimeline.Views.MainWindow"
xmlns:vm="clr-namespace:EvidenceTimeline.ViewModels">
<Window.DataContext>
<vm:TimelineViewModel/>
</Window.DataContext>
<TextBox Text="{Binding EventTitle, UpdateSourceTrigger=PropertyChanged}"/>
<Button Command="{Binding AddEventCommand}" Content="Add Event"/>
</Window>
```
---
*This skill is optimized for Claude Code working on the evidence_timeline WPF application. Apply these guidelines consistently across all modifications.*
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/wpf-evidence-timeline-developer/raw