Когда вы делаете DataContext="{Binding Path=Main, Source={StaticResource Locator}}"
в вашем Окне и после DataContext="{Binding MainViewModel}"
в Datagrid, WPF пытается привязаться к property named MainViewModel
в вашем MainViewModel
классе, что не удастся. Вы можете подтвердить это, посмотрев на ошибку привязки в окне «Вывод» в VS.
Просто удалите DataContext="{Binding MainViewModel}"
из DataGrid
, и оно должно работать.
EDIT:
В конце первой строки вашего XAML есть дополнительное закрытие>:
<dg:DataGrid DataContext="{Binding MainViewModel}" ItemsSource="{Binding CashAccounts}">
Margin="5" AutoGenerateColumns="True" HorizontalScrollBarVisibility="False">
Должно быть:
<dg:DataGrid DataContext="{Binding MainViewModel}" ItemsSource="{Binding CashAccounts}"
Margin="5" AutoGenerateColumns="True" HorizontalScrollBarVisibility="Disabled">
Примечание: False
не является допустимым значением для HorizontalScrollBarVisibility
, оно поддерживает Auto, Disabled, Hidden, Visible
Но я не знаю, почему WPF выдает Operation is not valid while ItemsSource is in use. Access and modify elements with ItemsControl.ItemsSource instead
для вашего исходного XAML вместо какой-то более значимой ошибки.