我想我需要使用StringFormat來做這件事,但我不知道如何弄清楚格式。如何將毫秒轉換爲在XAML中顯示mm:ss?
回答
如果您的輸入值是TimeSpan或DateTime,那麼您可以使用簡單的格式字符串。 但我認爲情況並非如此。
據我所知,你需要實現你自己的Converter,它將把你的值作爲參數,並輸出一個格式化的字符串。 標準C格式化程序無法進行計算分鐘所需的模數等實際計算。
一個例子:(此代碼不檢查,而是寫上飛!)
public class MmSsFormatConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Int32 sss = (Int32)value;
Int32 ss = sss/1000;
Int32 mm = ss/60;
ss = ss % 60;
return string.Format(@"{0:D2}:{1:D2}", mm, ss);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return Binding.DoNothing; // Thanks to Danny Varod for the suggestion!
}
#endregion
}
現在添加命名空間到你的XAML,識別器,然後添加轉換器作爲一個資源的XAML。
然後,你可以綁定到轉換器,這樣的事情:
<TextBlock Text="{Binding Milliseconds, Converter={StaticResource MmSsFormatConverter}}" />
請注意,你需要,如果你做雙向綁定來實現該功能ConvertBack。 也可以使用參數參數傳遞ConverterParameter,如格式字符串。
您可能希望在我寫的代碼中添加類型檢查和其他約束。 (那麼你將超過59:59的情況呢?現在它將會到達60:00,並且事件可能會達到123:59)
更好的是,在ConvertBack方法中返回Binding.DoNothing。 – 2012-04-29 13:06:37
謝謝,這正是我需要知道的! – Kuraj 2012-04-29 13:10:02
非常歡迎您! – 2012-04-29 13:21:38
如果你不想創建轉換器,你也可以做:
<TextBox Height="23" Text="{Binding Time, StringFormat={}{0:mm:ss}}" />
時間可能是你的代碼背後的一個屬性。或者你也可以把它綁定到別的東西..
對不起,但格式字符串不正確。 正確的是:
只是爲了增加另一種可能性'StringFormat = \ { dd-MM-yyyy hh:mm:ss.fff tt \}' – XAMlMAX 2017-05-16 09:58:13
- 1. 轉換毫秒(長)到MM:SS
- 2. 將mm:ss轉換爲以毫秒爲單位的PHP
- 3. 如何在毫秒中將時間戳轉換爲毫秒
- 4. 如何將像素(手機的顯示寬度)轉換爲毫秒(毫秒)?
- 5. 將毫秒轉換爲毫秒
- 6. 將DateTime轉換爲毫秒
- 7. 將jiffies轉換爲毫秒
- 8. 將毫秒轉換爲time_t
- 9. 將Ecto.DateTime轉換爲毫秒
- 10. 將時間轉換爲秒+毫秒秒
- 11. 如何將毫秒數轉換爲DateTime?
- 12. 如何將毫秒數轉換爲
- 13. 如何將毫秒轉換爲TDateTime?
- 14. 如何將HH:mm:ss.SSS轉換爲毫秒?
- 15. 在毫秒中將毫秒轉換爲日期時間
- 16. 如何將秒錶刻度轉換爲納秒,毫秒和秒?
- 17. 我如何從毫秒轉換爲秒單位以顯示在標籤中?
- 18. Haskell:將UTCTime轉換爲秒和毫秒
- 19. 將毫秒轉換爲日期和日期爲毫秒
- 20. MySQL:如何將秒轉換爲mm:ss格式?
- 21. 在Django中如何將日期時間轉換爲毫秒級?
- 22. 如何在Excel中將hh:mm:ss.000轉換爲毫秒?
- 23. 如何在Visual Studio中將當前時間轉換爲毫秒?
- 24. PHP將毫秒數轉換爲特定毫秒失敗(1425318722000)
- 25. 轉換時間爲毫秒?
- 26. 如何將「3:31」mm:ss從字符串轉換爲表示秒的整數
- 27. 將2倍轉換爲毫秒之差?
- 28. 將ULARGE_INTEGER QuadPart轉換爲毫秒
- 29. 將毫秒轉換爲時間
- 30. 將毫秒轉換爲時間碼
你的意思是你有毫秒爲多少?你不能把它改成'TimeSpan'嗎? – svick 2012-04-29 12:32:50