【问题标题】:How do you bind to a TimeSpan field when you want the user to enter total seconds当您希望用户输入总秒数时,如何绑定到 TimeSpan 字段
【发布时间】:2017-08-15 13:11:27
【问题描述】:

我有一个可以在 TextBox 中编辑的 TimeSpan 属性。 TextBox 使用转换器将字符串转换为 TimeSpan 并再次转换回来。问题是用户必须输入格式化字符串,如 hh:mm:ss 等。我希望用户只能输入代表总秒数的整数。
实现这一目标的最佳方法是什么?

【问题讨论】:

    标签: c# wpf binding textbox timespan


    【解决方案1】:

    它就在我面前......只是有一个错字。转换器必须简单地这样做:

        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return ((TimeSpan)value).TotalSeconds.ToString(CultureInfo.InvariantCulture);
        }
    
        /// <see cref="IValueConverter.ConvertBack"/>
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return TimeSpan.FromSeconds(int.Parse((string) value, NumberStyles.None, CultureInfo.InvariantCulture));
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2020-07-19
      • 2020-05-15
      • 1970-01-01
      相关资源
      最近更新 更多