1

一部の列に double 値が表示される DataGrid があります。いくつかの計算が必要なため、コンバーターを使用してこの値をフォーマットします。フォーマットは次のようになります: 値が 1,200 の場合、1,2K と表示されます 値が 1,200,000 の場合、1,2M と表示されます 値が 1,200,000,000 の場合、1,2B と表示されます

フォーマットを有効/無効にするオプションを備えたチェックボックスがあるため、チェックボックスのステータスをパラメーターとしてコンバーターに渡す必要があります。

ConverterParameter をバインドしようとしましたが、Silverlight 5 ではできません。

どうすればこれを達成できますか?

Silverlight 5 と MVVM を使用しています (Prism や MVVMLight などのフレームワークは使用していません)。

4

1 に答える 1

0

私はこのようにします:

  1. 可視性を制御するための単純な可視性コンバーター、つまり visibleifFormatIsRegular 、 visibleifFormatIsNotRegular を用意します。
  2. 値を表示する必要がある各形式の値を変換するための 2 つの値コンバーター
  3. 以下の形式の 2 つのテキストブロックは、コンバーター名のみが変更されます

    textblock 1 ==> Text={バインディング プロパティ値, コンバーター{staticresource YourIvalueConverterforactualFormatConversion}} 可視性={バインディング チェックボックスtoggledProperty, コンバーター {visibilityConverter }}

お役に立てれば!

于 2012-06-01T05:14:30.577 に答える