я борюсь со странным вопросом о ToolTip
с в WPF:ToolTip игнорирует заданный формат DateTime спецификатор
Сначала код:
<TextBlock Text="{Binding SelectedItem.Approver.Timestamp, StringFormat='{}{0:g}'}"
ToolTip="{Binding SelectedItem.Approver.Timestamp, StringFormat='{}{0:f}'}" />
Как вы можете видеть, "g format specifier" (например, 2016-12-24 23:42
) используется для отображения метки времени и «f format specifier» (например, Saturday, 24. December 2016 23:42
) для его ToolTip
.
Однако, я получаю: 2016-12-24 23:42
. Другими словами: ToolTip
показывает точно такой же формат, как и TextBlock
.
Он становится еще более странным при переключении TextBlock
в «спецификатор формата f»: ToolTip
просто остается в формате, указанном спецификатором «g format».
Итак, у меня есть два вопроса:
a) Почему?
и
b) Как обеспечить соблюдение моего желаемого формата?
Я не знаком с WPF, но у меня есть несколько вопросов: ** 1) ** Так как это стандартные форматы, это не 'StringFormat = g' и' StringFormat = g' достаточно? ** 2) ** Невозможно использовать пользовательские форматы даты и времени, например 'StringFormat = yyyy-MM-dd HH: mm' и' StringFormat = dddd, dd. MMMM yyyy HH: mm'? ** 3) ** Использование культуры для форматирования не является 'sq-AL', не так ли? Поскольку спецификаторы формата 'g' и' f' генерируют один и тот же результат, поскольку эта культура имеет значение _same_ для свойств LongDatePattern и ShortDatePattern. –
Что касается ваших вопросов: ** 1) **: Нет, как вы можете видеть [здесь] (https://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.stringformat.aspx) , ** 2) **: Я не хочу настраивать жесткий код на то, что уже встроено в .NET. ** 3) **: Нет, это не так. Есть, однако, несколько других «используемых культуры», например. г. 'Де-DE'. Но самое главное: 'f' и' g' приводят к ** различным ** выходам. – Yoda