Fix AccountRegisterView crash from compiled binding parent type cast
Details
Same pattern as ReportsView — compiled binding with
$parent[ItemsControl].((vm:AccountRegisterViewModel)DataContext)
fails in dynamically-loaded plugin assemblies. Replaced with
ReflectionBinding using named element reference (#RegisterHost).
No remaining parent type cast bindings in Finance plugin views.
Rewrite finance seed data with realistic 12-month financial life
Details
Complete rewrite of seed data generation to represent a real person's
finances over 12 months. Uses SeedHelper.CreateEntityAsync to capture
server-assigned entity IDs (fixes "Unknown" categories and $0 balances
caused by client-generated GUIDs not matching stored entity IDs).
Profile: single professional, $4,200/mo net income with realistic
expenses including rent ($1,650), car payment ($385), insurance,
seasonal utilities, weekly groceries, gas fills, dining out, coffee
shops, subscriptions, entertainment, clothing, and personal care.
Includes seasonal variation (higher electric in summer/winter, holiday
gift spending in December, tax refund in March, Black Friday in
November), opening equity balances, monthly budget allocations,
credit card payments, savings transfers, and reconciliation checkpoints.
Fix ReportsView crash by replacing compiled binding with ReflectionBinding
Details
The compiled binding cast ((vm:ReportsViewModel)DataContext) inside the
DateRangeOptions DataTemplate fails at runtime in dynamically-loaded plugin
assemblies. Switched to ReflectionBinding with a named element reference
(#DateRangeHost) to avoid the type resolution issue entirely.
Add 12-month seed data generation and fix ComboBox binding bugs
Details
Finance seed data now generates realistic transactions spanning 12 months
back from today, including bi-monthly paychecks, recurring bills, variable
spending (groceries, gas, dining, entertainment, clothing), savings transfers,
budget allocations, and reconciliation checkpoints. Extracted seed logic into
a dedicated FinanceSeedService for modularity.
Fixed InvalidCastException in Manage Categories dialog where ComboBox controls
used inline ComboBoxItem elements that couldn't be cast to RolloverBehavior
and GoalTargetType enums. Replaced with proper ItemsSource bindings using
typed wrapper records (RolloverOption, GoalTypeOption).
Fixed ReportsView crash (Unable to resolve type vm:ReportsViewModel) caused
by missing x:DataType on the date range DataTemplate.
Version bump: 3.7.0 -> 3.8.0
Add preset date range selector to Spending by Category report
Details
Replaces bare date pickers with quick-select buttons: 1 Week, 2 Weeks,
1 Month, 3 Months, 6 Months, 12 Months, 2 Years, 5 Years, All, Custom.
Selecting a preset auto-sets From/To dates and refreshes. Choosing
"Custom" reveals the MiniCalendarPicker controls for manual entry.
Version: 3.6.2 → 3.7.0
Get notified about new releases