2016-12-08 1 views
0

를 무시 예 : 2016-12-24 23:42)가 타임 스탬프의 표시에 사용되고 에 대해 "f format specifier"(예 : Saturday, 24. December 2016 23:42)이 사용됩니다.도구 설명 내가 WPF에서 <code>ToolTip</code>들에 대한 이상한 문제로 어려움을 겪고있어 지정된 날짜 시간 형식 지정자

그러나 내가 얻는 것은 2016-12-24 23:42입니다. 즉, ToolTipTextBlock과 정확히 동일한 형식을 나타냅니다.

TextBlock을 "f 형식 지정자"로 전환 할 때 더 이상합니다. ToolTip은 "g 형식 지정자"에 지정된 형식으로 유지됩니다.

따라서 두 가지 질문이 있습니다.
왜 그런가요?

b) 원하는 형식을 적용하는 방법은 무엇입니까?

+0

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' 형식 지시자는'LongDatePattern'과'ShortDatePattern' 속성에 대해 _same_ 값을 가지기 때문에 동일한 결과를 생성합니다. –

+0

질문에 대한 답변 : ** 1) ** : 아니요, [여기] (https://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.stringformat.aspx) . ** 2) ** : 이미 .NET에 내장 된 사용자 지정 하드 코드를 원하지 않습니다. ** 3) ** : 아니오, 그렇지 않습니다. 그러나 몇 가지 다른 '문화'가 사용된다. 지. '드 -DE'. 그러나 가장 중요한 것은'f'와'g'는 ** 다른 ** 결과를 낳습니다. – Yoda

답변

1

를 내가 작업을 얻었다.

<TextBlock Text="{Binding SelectedItem.Approver.Timestamp, StringFormat={}{0:g}}"> 
    <TextBlock.ToolTip> 
    <ToolTip Content="{Binding SelectedItem.Approver.Timestamp}" ContentStringFormat="{}{0:f}" /> 
    </TextBlock.ToolTip> 
</TextBlock> 

툴팁 아무것도 포함 할 수 있습니다, 우리는 ContentStringFormat를 사용해야합니다.

+0

두 번째 제안을 주셔서 감사합니다 .ContentStringFormat을 통해 자세하게 지정하면 표시된 형식이 실제로 변경되지만 형식이 왜 단축되는지에 대한 질문에는 대답하지 않습니다. – Yoda

+1

툴팁에 포함될 수있는 모든 객체, 내부적으로는 간단한 변환기 ToString을 가지고 있으며 DataBinding에 정의 된 StringFormat을 무시합니다. 따라서 Tooltip에 ContentStringFormat이 있습니다. – quicoli

+0

통찰력에 감사드립니다. 거의 모든 것이 내가 원하는 것입니다. 마지막 사항 : 한 줄짜리로 유지할 기회가 없습니다. 예를 들어 인라인 정의 대신'ToolTip' 속성에서'ContentStringFormat'을 사용하십시오. ('TextBlock.ToolTip> ...'!에 대한 올바른 전문 용어 형식이 아닌 경우 수정하십시오.)? – Yoda

0

구문이 올바르지 않다고 생각합니다.

은 참조 :

<TextBlock Text="{Binding SelectedItem.Approver.Timestamp, StringFormat={}{0:g}}" 
      ToolTip="{Binding SelectedItem.Approver.Timestamp, StringFormat={}{0:f}}" /> 
+0

아니요, 작은 따옴표로 이러한 매개 변수를 캡슐화하는 것이 유효한 것은 아닙니다. 그러나 제안을 시도하기를 열심히 시도하면서, 나는 작은 따옴표없이 그것을 시도했다. 불행히도 결과는 동일하게 유지됩니다. : – Yoda