【问题标题】:How to set DateTime format in IValueConverter and return string value?如何在 IValueConverter 中设置 DateTime 格式并返回字符串值?
【发布时间】:2012-07-26 09:13:15
【问题描述】:

我想要IValueConverter 中的特定格式并返回一个字符串。喜欢"MMMyyyy"我怎么才能得到这个?

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    var item = (DateTime)value;
    if (item != null)
    {
        return item.ToString();
    }
    return null;
}

【问题讨论】:

  • 如果您在绑定中有日期时间对象,那么您可以使用绑定的字符串格式来获得您想要的输出

标签: c# ivalueconverter


【解决方案1】:

请在下面试试

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
     var item = (DateTime)value;
     if (item != null)
     {
         return item.ToString("MMMyyyy");
     }
     return null;
}

【讨论】:

    【解决方案2】:

    你真的需要IValueConverter吗? 如果您希望此绑定在 WPF 中以特定格式显示数据绑定 DateTime,您可以使用 BindingStringFormat 属性

    Article about StringFormat

    【讨论】:

    • 我也对这个使用字符串格式的东西会更有效。
    【解决方案3】:

    您只需将格式 ToString 添加为参数

     return item.ToString("MMyyyy");
    

    【讨论】:

      【解决方案4】:

      您可以对 ToString() - ToString( string format ) 使用 DateTimes 重载。因此 - 你可以写:

      public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
      {
          var item = (DateTime)value;
          if (item != null)
          {
              return item.ToString("MMMyyyy");
          }
          return null;
      }
      

      欲了解更多信息,请查看此链接:

      http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-15
        • 1970-01-01
        • 2021-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-20
        相关资源
        最近更新 更多