0

WCF DataService を使用する Datagrid があります。以下は私が使用しているコードです。

public partial class MainPage : UserControl
{
    static ServiceReference1.SampleDbEntities entities = new ServiceReference1.SampleDbEntities(new Uri("http://localhost:1324/WcfDataService1.svc/"));
    static DataServiceQuery<ServiceReference1.Book> query = entities.Books.IncludeTotalCount();
    static WcfDataServicesDataSourceProvider<ServiceReference1.Book> context = new WcfDataServicesDataSourceProvider<ServiceReference1.Book>(query, entities);

    public MainPage()
    {
        Xceed.Silverlight.DataGrid.Licenser.LicenseKey = "****-A7K1K-****-BBUA";
        this.DataContext = context;
        InitializeComponent();
    }
}

ここで、グリッドを更新せずに、新しく追加されたアイテムをグリッドに追加する必要があります。これには「context.NotifyItemsAdded」を使用できることがわかりました。

新しく追加されたアイテムを取得してグリッドに挿入するにはどうすればよいですか? 現在ロードされている項目を列挙できますか?

4

1 に答える 1

1

ObservableCollectionを使用し、それを DataContext として設定すると、新しく追加されたアイテムが自動的にグリッドに挿入されます。

ObservableCollection のグラフィカルなチュートリアルを知りません。ObservableCollectionクラスは (List のよう) コレクション型です。これ、特定の型 T のオブジェクトを保持することを意味ます。これは、WPF を使用して実装された UI に特に役立ちます。基本的に、監視可能なコレクションにオブジェクトが追加または削除されると、UI が自動的に更新されるためです。これは、監視可能なコレクションにバインドするときに、WPF がObservableCollecion の CollectionChangedイベントにイベント ハンドラーを自動的に追加するために発生します。

便利なチュートリアルはここにあります

于 2013-09-04T18:45:02.920 に答える