格式化零值为空字符串?

编程入门 行业动态 更新时间:2024-10-24 19:25:14
本文介绍了格式化零值为空字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我正在努力进入WPF字符串格式的第一次尝试。我希望能够格式化数据网格中的文本框的一个空字符串,当基础值为零和格式的所有其他值为0.000。然而,我的XAML似乎没有达到这个工作,因为它显示所有值的空白,而不仅仅是零。

<$ p $ < code>< DataGridTextColumn Header =dLBinding ={Binding Path = Value.DLHistoric,StringFormat ='{} {0.000 ;;}'Width =Auto/>

我正在使用这里,并在第二个分号之后加上一个空格来获得空字符串。

非常感谢!

更新 $

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

解决方案

示例IValueConverter

[ValueConversion(typeof(string),typeof(string))] public class StringToFeetAndInches:IValueConverter { public object Convert (对象值,类型targetType,对象参数,CultureInfo文化) { string str = value as string; if(string.IsNullOrEmpty(str))return str; str = str.Insert(1,'); str = str +\; return str; } 公共对象ConvertBack(对象值,类型targetType,对象参数,CultureInfo culture) { return 0; } } < UserControl.Resources> < NS:StringToFeetAndInches x:Key = cStringToFeetAndInches/> < /UserControl.Resource> < TextBlock Text ={Binding Path = Height,Converter = {StaticResource cStringToFeetAndInches}}/>

I'm struggling with my first foray into WPF string formatting. I'd like to be able to format a textbox column in a data grid with an empty string when the underlying value is zero and format all other values as 0.000. However, my XAML doesn't seem to be up to the job as it shows blanks for all values and not just for zeros:

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

I am using the semicolon operator as described here and have added a space after the second semicolon to get the empty string.

Many thanks!

Update

This does the trick:

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

解决方案

Example IValueConverter

[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}}" />

更多推荐

格式化零值为空字符串?

本文发布于:2023-11-16 17:06:19,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:值为   空字符串

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!