1

xamlのDataGridの列にフォーマットを設定したいのですが、列にはdoubleデータが含まれています。

今まで私は次のようにコードでそれをしました:

string format = "{0:F3}";
double nExm= 4.24;
string newExm= string.Format(format, nExm);

DataGrid:

<DataGrid x:Name="DG" ItemsSource="{Binding List}" AutoGenerateColumns="False">
     <DataGrid.Columns>
          <DataGridTextColumn Header="{x:Static p:Resources.Exm}" Binding="{Binding Exm}"></DataGridTextColumn>
     </DataGrid.Columns>
 </DataGrid>

newExmは、DataGridにバインドするリストを含むクラスXに含まれるものによって異なります。

Xクラス:

プライベート文字列exm;

    public string Exm
    {
        get { return exm; }
        set
        {
            exm= value;
            NotifyPropertyChanged("Exm");
        }
    }

XAMLを介してフォーマットを設定する方法はありますか?(変数を2倍にして、列の形式を設定したい)

4

2 に答える 2

1

StringFormatXAMLで設定できます。

<TextBox Text="{Binding paymentAmount, StringFormat={0:C2}}"/>

これについての素晴らしい記事があります

于 2013-02-06T12:19:06.960 に答える
1

あなたはそれをフォーマットするためStringFormatにあなたに使用することができます:Binding

Binding="{Binding YourDoublePropertyHere, StringFormat=F3}"

すべてのフォーマットのニーズが得られない場合StringFormat(この場合は適切なはずです)、またはより高度な変換ロジックがある場合はConverter、データをマッサージするためにを書くことができます。

于 2013-02-06T12:19:19.160 に答える