1

MVVM プログラム (Josh Smith ベース) のデータバインディング/パフォーマンスの問題をデバッグしようとしています。さまざまなリストやオブジェクトの同時読み込みが多数あるため、パフォーマンスとネットワークのボトルネックを改善するために isAsync といくつかのスレッドを使用しています。

ただし、フォールバック値の ItemsSource バインディングから多くのメッセージが出力されていることに気付きました。コマンドについては、コマンドを無効にするダミー コマンドを作成しました。ほとんどの場合、既知のフォールバック プリミティブ タイプにバインドできます。この問題は、ItemsSource のフォールバックを {x:Null} にバインドすると発生するようです。

注: これは、chartingToolkit コントロールだけでなく、多くの場所で発生しています。

A first chance exception of type 'System.NotSupportedException' occurred in PresentationFramework.dll
A first chance exception of type 'System.Xaml.XamlObjectWriterException' occurred in System.Xaml.dll
System.Windows.Data Information: 41 : BindingExpression path error: 'LineValueList' property not found for 'object' because data item is null.  This could happen because the data provider has not produced any data yet. BindingExpression:Path=LineValueList; DataItem=null; target element is 'LineSeries' (Name=''); target property is 'ItemsSource' (type 'IEnumerable')
System.Windows.Data Information: 20 : BindingExpression cannot retrieve value due to missing information. BindingExpression:Path=LineValueList; DataItem=null; target element is 'LineSeries' (Name=''); target property is 'ItemsSource' (type 'IEnumerable')
System.Windows.Data Information: 21 : BindingExpression cannot retrieve value from null data item. This could happen when binding is detached or when binding to a Nullable type that has no value. BindingExpression:Path=LineValueList; DataItem=null; target element is 'LineSeries' (Name=''); target property is 'ItemsSource' (type 'IEnumerable')

<chartingToolkit:LineSeries DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding Path=LineValueList,IsAsync=True,FallbackValue={x:Null}}">

私が持っている質問:

  1. これらのメッセージは気になりますか? 多くのエンド ユーザーが古いマシンを使用しているため (そしてアップグレードを拒否しています -.-)、パフォーマンスを最大化するように努めてきました。
  2. ダミーの基本型を作成して App.xaml から参照しても安全ですか?
  3. これらのリストのほとんどをデータテンプレート化していますが、それが原因ですか?

前もって感謝します。

4

1 に答える 1

1

PriorityBindingを使用して、実際のソースの読み込み中にダミー データソースにバインドできます。これが役立つことを願っています。

于 2012-11-08T16:19:06.690 に答える