如何使用 ToString() 格式化持续时间?

How to format Duration with ToString()?

尝试使用 ToString() 格式化持续时间时,我收到以下消息 'No Overload for method 'ToString()' takes 1 arguments。我在这个 and here 上找到了以前的话题;但是,这些线程适用于可为空的 DateTime,并且都建议使用 myDatetime.Value.ToString(),我在下面的示例中尝试过,但仍然收到相同的消息。

    public System.Windows.Duration? MyDuration { get; set; }

    public string MyDurationString
    {
        get => (MyDuration.HasValue) ? MyDuration.Value.ToString(@"hh\:mm\:ss.fff") : null;
        set => MyDuration = string.IsNullOrEmpty(value) ?
                TimeSpan.Zero : TimeSpan.Parse(value);
    }

我不知道这种类型,但 WPF Duration 似乎没有 ToString that takes arguments. But it has a property TimeSpan,您可以使用它:

get => MyDuration.HasTimeSpan ? MyDuration.TimeSpan.ToString("hh':'mm':'ss'.'fff") : null;