используя Datagrid.Items.Refresh () из viewmodel - PullRequest
0 голосов
/ 10 января 2012

Я использую шаблон MVVM.Я хочу использовать метод обновления datagrid.Я также прошел по следующей ссылке, и она полезна: Как обновить WPG DataGrid?

, но моя проблема заключается в следующем: я создал один объект сетки данных в viewmodel, как это:1006 *

и источник элементов моей таблицы данных уже связан с другой коллекцией, например

<DataGrid x:Name="ActiveGrid"
                      IsReadOnly="True"                      
                      ItemsSource="{Binding ActiveCallCollection}"
                       SelectedItem="{Binding ActiveGridCollection,
                                             Mode=TwoWay}" SelectionMode="Single"
                      Visibility="{Binding IsActiveCallsSelected,
                                           Converter={StaticResource BooleanToVisibilityConverter}}"
                      d:LayoutOverrides="Height">

Как я могу связать ActiveGrid с сеткой данных xaml.

Ответы [ 2 ]

0 голосов
/ 10 января 2012

Если вы используете шаблон проектирования MVVM, ваша модель представления не должна иметь DataGrid

Вместо этого View должен иметь DataGrid, и он должен быть привязан к ObservableCollection в ViewModel.

Убедитесь, что вы связываете свойство ItemsSource, а не устанавливаете его, иначе изменения в ObservableCollection не могут автоматически обновляться в пользовательском интерфейсе

<DataGrid x:Name="ActiveGrid"
          IsReadOnly="True"                      
          ItemsSource="{Binding ActiveCallCollection}"
          SelectedItem="{Binding Selected ActiveCall}" 
          SelectionMode="Single"
          Visibility="{Binding IsActiveCallsSelected,
                               Converter={StaticResource BooleanToVisibilityConverter}}"
          d:LayoutOverrides="Height">
0 голосов
/ 10 января 2012

если у вас есть объект DataGrid в вашей ViewModel, то это больше не MVVM. вам лучше спросить, чего вы хотите достичь, чтобы мы могли вам помочь.

если вы привязываетесь к OberservableCollection - вам следует один раз ! все изменения (добавление, удаление) отражаются в вашей таблице данных.

Пожалуйста, оставьте свой код, где вы создаете / изменяете свою коллекцию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...