【问题标题】:Insert DateTime format in combobox在组合框中插入日期时间格式
【发布时间】:2013-07-11 12:52:42
【问题描述】:

我有显示所有 DateTime 格式的 Harvest_Base 类;

class Harvest_Base
{

    public static DateTime storeTime(String date)
    {

        DateTime returnValue = new DateTime();

        if (date == "")
            return returnValue;

            //Time or Date Component Does not Exist
            string[] formats= {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", 
               "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", 
               "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", "M/d/yyyy h:mm", "M/d/yyyy h:mm", 
               "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm", 
               "h:mm tt","hh:mm tt","HH:mm:ss","H:mm","HH:mm","h:mmtt"};
            DateTime result;

            if (DateTime.TryParseExact(date, formats, System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
                returnValue = result;
            else
                returnValue = DateTime.Today;

        return returnValue;

    }

}

我有一个视图类,其中我有两个用于开始时间和停止时间的组合框。我想做一些事情,这些组合框应该以“hh:mm tt”格式向我显示值。

我的问题是:

  1. 这里需要绑定吗?如果是,请在回答中用代码解释。

  2. 如果不需要绑定,我该怎么做才能达到这个结果?

【问题讨论】:

    标签: c# wpf binding combobox


    【解决方案1】:

    要么将组合框直接绑定到 DateTime 并在绑定上应用 StringFormat,要么绑定到以正确格式表示 DateTime 的字符串。您也可以使用值转换器,但这有点矫枉过正。

    这是Binding 子句中的StringFormat

    {Binding Path=PathToTheDateTime, StringFormat={}{0:MM-dd-yyyy}}
    

    根据自己的喜好更改 MM-dd-yyyy 部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-27
      • 2018-02-26
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      相关资源
      最近更新 更多