バージョン

2012 Volume 1 の重大な変更点

トピックの概要

目的

このトピックは、Ultimate UI for WPF 2012 Volume 1 リリースでの重大な変更です。

重大な変更

XamPivotGrid/XamPivotDataSelector

XamDataTree を使用するとパフォーマンスが向上します。FilterFieldItemControl コントロールのテンプレートをカスタマイズした場合、あるいは、使用されている XamTree に依存している場合、XamTree を使用する代わりに XamDataTree を使用してください。

DataSourceBase

  1. IOlapViewModel.ResultChanged イベントのイベント属性のタイプを ResultChangedEventArgs に変更します。

  2. DataSourceBase.BuildDataInternal(System.ComponentModel.BackgroundWorker, System.ComponentModel.DoWorkEventArgs`)` はDataSourceBase.BuildDataInternal(DataSourceBase.BackgroundWorker, DataSourceBase.DoWorkEventArgs) に変更されます。

DataSourceBase.BackgroundWorker クラス定義が保護され、可能性のある競合を最小限にします。ただし、派生クラスが ataSourceBase.BuildDataInternal を上書きし、ポイントするワーカー タイプを明示的に指定する必要がある em.ComponentModel.BackgroundWorker を使用します。

このワーカーを実行するには、ワーカーが実行される Work のインスタンス、および渡されて、DataSourceBase.DoWorkEventArgs.Argument を介してアクセス可能なデータ ソースの現在の状態をキャプチャする DataSourceState のインスタンスが必要です。DataSourceBase.BuildDataInternal がオーバーライドされている場合、このワーカーの現在のワーク情報を簡単に取得できます。

  1. ユーザーのアプリケーションに、同じ階層インスタンスで IHierarchy インスタンスおよび IFilterViewModel のインスタンスを操作する XamPivotDataSlicer がある場合、ユーザー コードは、 DataSourceBase.CreateFilterViewModel(IHierarchy) を直接呼び出す代わりに DataSourceBase.GetFilterViewModelFromHierarchy(IHierarchy) は、初めにフィルター ビュー モデルの取得を試みる必要があります。

C# の場合:

// スライサーおよびフィルター ツリーの両方が
// 同じ IFilterViewModel インスタンスを使用することを確認します
IFilterViewModel filterViewModel =
    dataSource.GetFilterViewModelFromHierarchy(hierarchy);
if (filterViewModel == null)
{
    filterViewModel = dataSource.CreateFilterViewModel(hierarchy);
}
// フィルター ツリーはスライサー項目の選択状態と
// 同期されます
dataSource.Rows.Add(filterViewModel);