0

すべての 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;

    }

}

starttime と stoptime の 2 つのコンボボックスがあるビュー クラスがあります。これらのコンボボックスが「hh:mm tt」形式で値を表示する必要があることをしたいと思います。

私の質問は次のとおりです。

  1. ここでバインディングは必要ですか? はいの場合、答えのコードで説明してください。

  2. バインディングが不要な場合、この結果を得るにはどうすればよいですか?

4

1 に答える 1

1

コンボ ボックスを に直接バインドしてバインドにDateTimeを適用するか、適切な形式でStringFormat自分を表す文字列にバインドします。DateTime値コンバーターを使用することもできますが、少しやり過ぎです。

ここStringFormatBinding節があります

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

MM-dd-yyyyお好みでパーツを変更してください。

于 2013-07-11T12:57:30.880 に答える