我看到了这篇文章: 如何在 .Net 中有条件地格式化字符串?
问题的第一部分指出了使用条件格式的能力。这是怎么做到的?
就我而言,我想将 100,000 设为 10 万美元,将 1,000,000 设为 100 万美元。我希望能够仅使用标记中的 FormatString (Silverlight)来做到这一点。这是我无法使用值转换器的情况(它在样式内)。
这可能吗?
我看到了这篇文章: 如何在 .Net 中有条件地格式化字符串?
问题的第一部分指出了使用条件格式的能力。这是怎么做到的?
就我而言,我想将 100,000 设为 10 万美元,将 1,000,000 设为 100 万美元。我希望能够仅使用标记中的 FormatString (Silverlight)来做到这一点。这是我无法使用值转换器的情况(它在样式内)。
这可能吗?
您可以实现自己的IFormatProvider
并定义即。自定义并在调用时传递它String.Format()
or ToString()
。
这方面的例子可以在这里找到http://msdn.microsoft.com/en-us/library/system.iformatprovider.aspx或在这里http://www.codeproject.com/KB/cs/custstrformat.aspx。
public class StringFormatInfo : IFormatProvider, ICustomFormatter
{
...
}
return number.ToString("{0:custom}", new StringFormatInfo());