私はWPFが初めてです。現在、Entity Framework で WPF のプロジェクトを作成しています。wpf でアイテムを正しく追加および削除できます。ただし、アイテムを追加または削除した後でも、データグリッドは更新されませんでした。私でさえ、ssEntities.SaveChanges(); ssEntities.Refresh(RefreshMode.StoreWins, ssEntities.User);
リフレッシュ機能または別の機能を使用してデータグリッドを自動的にリフレッシュするにはどうすればよいですか?
XAML
<Window.Resources>
<CollectionViewSource x:Key="UserViewSource"
d:DesignSource="{d:DesignInstance my:User, CreateList=True}" />
</Window.Resources>
<DataGrid AutoGenerateColumns="False" EnableRowVirtualization="True" Height="537"
HorizontalAlignment="Left" ItemsSource="{Binding}" Margin="12,12,0,0"
Name="UserDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected"
VerticalAlignment="Top" Width="300"
SelectedCellsChanged="UserDataGrid_SelectedCellsChanged">
<DataGrid.Columns>
<DataGridTextColumn x:Name="IDColumn" Binding="{Binding Path=ID}" Header="ID"
Width="80" IsReadOnly="True" />
<DataGridTextColumn x:Name="NameColumn" Binding="{Binding Path=Name}"
Header="Name" Width="80" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
cs
private void btnSave_Click(object sender, RoutedEventArgs e)
{
try
{
if (ActionHandler == "Add")
{
User user = new User();
user.ID = ID;
user.Name = Name;
ssEntities.User.AddObject(user);
}
ssEntities.SaveChanges();
ssEntities.Refresh(RefreshMode.StoreWins, ssEntities.User);
}
catch (Exception ex)
{ MessageBox.Show(ex.Message); }
}