我想在 xaml 中将格式设置为DataGrid的列,这些列包含双数据。
到目前为止,我在代码中执行了以下操作:
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班级:
private string exm;
public string Exm
{
get { return exm; }
set
{
exm= value;
NotifyPropertyChanged("Exm");
}
}
有没有办法通过XAML设置格式? (我想将变量变为double并在列上设置格式)
答案 0 :(得分:1)
您可以在XAML中设置StringFormat
:
<TextBox Text="{Binding paymentAmount, StringFormat={0:C2}}"/>
Here是一篇很棒的文章
答案 1 :(得分:1)
您可以使用StringFormat
上的Binding
对其进行格式化:
Binding="{Binding YourDoublePropertyHere, StringFormat=F3}"
如果StringFormat
没有满足您的所有格式需求(在这种情况下它应该足够),或者您有更复杂的转换逻辑,那么您可以编写Converter
来按摩数据。