C# 是否将零值格式化为空字符串?

C# 是否将零值格式化为空字符串?,c#,wpf,xaml,datagrid,formatting,C#,Wpf,Xaml,Datagrid,Formatting,我第一次尝试WPF字符串格式时遇到了麻烦。我希望能够在基础值为零时,使用空字符串格式化数据网格中的文本框列,并将所有其他值格式化为0.000。但是,我的XAML似乎不能胜任这项工作,因为它为所有值显示空白,而不仅仅是为零: <DataGridTextColumn Header="dL" Binding="{Binding Path=Value.DLHistoric, StringFormat='{}{0.000;; }'" Width="Auto" /> 我正在使用分号操作符(

我第一次尝试WPF字符串格式时遇到了麻烦。我希望能够在基础值为零时,使用空字符串格式化数据网格中的文本框列,并将所有其他值格式化为0.000。但是,我的XAML似乎不能胜任这项工作,因为它为所有值显示空白,而不仅仅是为零:

<DataGridTextColumn Header="dL" Binding="{Binding Path=Value.DLHistoric, StringFormat='{}{0.000;; }'" Width="Auto" />

我正在使用分号操作符(如上所述),并在第二个分号后添加了一个空格以获取空字符串

非常感谢

更新

这就是诀窍:

<DataGridTextColumn Header="dL" Binding="{Binding Path=Value.DLHistoric, StringFormat=0.000;;#}" Width="Auto" />

示例

   [ValueConversion(typeof(string), typeof(string))]
    public class StringToFeetAndInches : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string str = value as string;
            if (string.IsNullOrEmpty(str)) return str;
            str = str.Insert(1, "'");
            str = str + "\"";
            return str; 
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return 0;
        }
    } 

<UserControl.Resources>
<NS:StringToFeetAndInches x:Key="cStringToFeetAndInches"/>
</UserControl.Resource> 

<TextBlock Text="{Binding Path=Height, Converter={StaticResource cStringToFeetAndInches}}" />
[ValueConversion(typeof(string),typeof(string))]
公共类StringToFeetAnd英寸:IValueConverter
{
公共对象转换(对象值、类型targetType、对象参数、CultureInfo区域性)
{
string str=作为字符串的值;
if(string.IsNullOrEmpty(str))返回str;
str=str.Insert(1,“”);
str=str+“\”;
返回str;
}
公共对象转换回(对象值、类型targetType、对象参数、CultureInfo区域性)
{
返回0;
}
} 

当不在WPF中时会发生什么?在一个简单的控制台程序中尝试一下,会发生什么?在一个小的测试应用程序中它绝对是好的。只是在WPF中它似乎不起作用。如果删除
{},会发生什么
刚开始的时候?那恐怕它就不能运行了。让它运行起来了。请看上面。谢谢你的建议。@Caledonian Coder你必须按照回答检查一下……然后给我一个upvote是的,我也不知道该怎么做。让我查一下常见问题。好吧-上面说我需要获得15的声誉才能进行upvote投票。我到时候会回来做的那个