複数の列で使用しているWPF Datagridがあります。列の1つにいくつかの要素があり、これがnullの場合があります。この列で並べ替えると例外が発生します。 Iソートフィールド2列にし、フィールド2が時々あり、それは結構ですオブジェクトが、ヌルが存在しない場合、私は、ソートフィールド1列に、それは、罰金の場合WPF Datagridの列がnullの要素を持つ列に並べ替えます。
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Binding="{Binding MyObject.Field1}" Header="Field1" Width="Auto" />
<dg:DataGridTextColumn Binding="{Binding MyObject.Field2.SubField}" Header="Field2" Width="Auto" />
</dg:DataGrid.Columns>
:
列の定義のようなものですで、DataGridがサブフィールド(私は推測)をソートしようとヌル例外ヒット:
System.InvalidOperationException was unhandled
Message=The SortDescriptions added are not valid. The probable solutions are to set the CanUserSort on the Column to false, or to use SortMemberPath property on the Column, or to handle the Sorting event on DataGrid.
私が試してみました「MyObject.Field2.SubField」はもちろん、これはので、それを修正しないためにSortMemberPathを設定しますField2はまだ時々nullです。私は、SortMemberPathを設定してコンバータにstring要素を返すstring.emptyを返すようにしましたが、動作させることができませんでした。
Iはまた、追加しようとした「TargetNullValueは= {X:静的SYS:String.Emptyを}を」これらの列の結合内でそれはまだ動作しませんでした。
どのようなアドバイスや提案をいただければ幸いです。 ありがとう、 Will
あなたは自分のオブジェクトは、コンバータを使用して、ヌルになることはありませんことを確認したり(それがnullの場合)には、データグリッドのデータを取得するときにそれをインスタンス化することができます。 –