2010-08-05 3 views
6

내 Silverlight 4 응용 프로그램에는 긴 툴팁이 있습니다. 기본적으로이 툴팁은 하나의 긴 줄로 표시됩니다. 예를 들면 다음과 같습니다.Silverlight 4의 모든 도구 설명에 대해 단어 줄 바꿈 기능을 설정하려면 어떻게해야합니까?

 <TextBox Text="Test1" 
     ToolTipService.ToolTip="One tasdg asdg as da sdg asdg asdg asdg asd gas dg a sdg a sdg a sd a sd g asdasdgasdg sadgasdgasdg asdg asdg asd as a sd g a sdg  asd g asd g asd g asdgasdg  asdgasdg"/> 

내가 원하는 것은 툴팁이 여러 줄로 표시되도록하는 것입니다. 이를 달성하는 한 가지 방법은 TextBlock을 사용하여 툴팁을 정의하는 것입니다. 예를 들면 다음과 같습니다.

 <TextBox Text="Test2"> 
     <ToolTipService.ToolTip> 
      <TextBlock TextWrapping="Wrap" Width="200" Text="One tasdg asdg as da sdg asdg asdg asdg asd gas dg a sdg a sdg a sd a sd g asdasdgasdg sadgasdgasdg asdg asdg asd as a sd g a sdg  asd g asd g asd g asdgasdg  asdgasdg"/>    
     </ToolTipService.ToolTip> 
    </TextBox> 

툴팁을 정의하려는 모든 컨트롤에 대해 이렇게해야하는 것은 많은 추가 작업처럼 보입니다. 이상적으로는 툴팁을 첫 번째 예제와 같이 문자열로 정의한 다음 모든 툴팁에 전체적으로 적용된 스타일을 사용하여 툴팁이 랩 어라운드되도록하는 것이 이상적입니다. 그래서 내 App.xaml에서 다음과 같이 정의 할 것입니다 :

이 작업을 수행하는 방법에 대한 조언이 필요하십니까?

답변

14

툴팁의 암시 적 스타일을 만들고 콘텐츠 템플릿을 적절한 것으로 설정할 수 있습니다.

<TextBox Text="Test2" ToolTipService.ToolTip="abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg " /> 
+1

완벽한 :

<Style TargetType="ToolTip"> <Setter Property="ContentTemplate"> <Setter.Value> <DataTemplate> <TextBlock TextWrapping="Wrap" Width="200" Text="{Binding}" /> </DataTemplate> </Setter.Value> </Setter> </Style> 

은 그럼 당신은 같은 것을 사용할 수 있습니다! 고마워 스티브, 내가 찾고 있던 바로 그거야. 이 솔루션에 대한 한 가지 사소한 변경 사항은 Width가 아닌 MaxWidth를 사용하는 것이 었습니다. 이는 도구 설명을 올바른 크기로 만드는 데 도움이됩니다. –

관련 문제