2016-06-13 8 views
1

ResourceDictionary.xaml에 내보기 템플릿 중 하나에 <Style>이 있습니다.XAML 스타일 태그 - 속성 속성

<Setter Property="ToolTip"> 
     <Setter.Value> 
      <templates:MyToolTipTemplate/> 
     </Setter.Value> 
    </Setter> 

가 어떻게이 Tooltip의 속성을 (내가 StaysOpen를 설정해야합니다)에 액세스 할 수 있습니다 : 내부, 나는 다음과 같은 방법으로 툴팁을 설정?

+0

당신은 돈 ' MouseOver 이벤트를 처리하기 위해 툴팁에 대한 참조가 필요하다면 MyToolTipTemplate에서 직접 처리 할 수 ​​있습니다. 'templates : MyToolTipTemplate' 코드/xaml을 공유 할 수 있습니까? – igorushi

+0

왜 MouseOver를 처리하려고하는지 궁금하십니까? 보기가 마우스 오버되었을 때 나타나는 기본 동작 이외의 ToolTip에 대해 수행 할 작업이 있습니까? – Jai

+0

@ Gosha 내 실수 - StaysOpen을 설정하고 싶습니다. 그것에 접근하기 위해서는 툴팁에 대한 참조가 필요합니다. –

답변

0

아마 이것은 당신에게 실제로 필요한 것을 지시 할 수 있습니다.
templates:MyToolTipTemplate이보기에 (예를 들어, 자사의 제어)와 관련이 있다고 가정 :

<Setter Property="ToolTip"> 
    <Setter.Value> 
     <ToolTip StaysOpen="{Binding SomeBoolProperty,ElementName=template}"> 
      <templates:MyToolTipTemplate x:Name="template"/> 
     </ToolTip> 
    </Setter.Value> 
</Setter> 

templates:MyToolTipTemplate 경우는 뷰 모델 엔티티, 당신은 관련이 해당 DataTemplate이 바인딩 배치 할 수있다 :

<DataTemplate DataType="{x:Type templates:MyToolTipTemplate}"> 
    <ToolTip> 
     <SomeControl SomeProperty="{Binding StaysOpen, 
      RelativeSource={RelativeSource AncestorType=ToolTip}, Mode=OneWayToSource}"/> 
    </ToolTip> 
</DataTemplate> 
+0

이것은 좋은 방향처럼 보이지만,'StaysOpen'에 따라'SomeBoolProperty'를 설정합니다. 반면에'StaysOpen = "True"'를 설정하는 방법이 필요합니다. –

+0

"바인딩 바인딩"{Binding StaysOpen, Mode = OneWayToSource ... "를 사용하거나 툴팁의 속성을 직접 바인드 할 수 있습니다. ' igorushi

+0

첫 번째 옵션이 잘 작동된다면 문제는 이해할 수 없습니다. Gosha의 제안 된 바인딩을 * True * -Value로 바꾸기 만하면됩니다. – lokusking