2012-08-22 5 views
0

TreeViewItem 컨트롤 템플릿에서 시각적 컨트롤을 자식 컨트롤에 바인딩해야하지만 바인딩 구문을 파악할 수 없습니다. TreeView에의 HierarchicalDataTemplate에서 WPF 컨트롤 템플릿 자식 컨트롤에 바인딩

나는이 :

 <TreeView.ItemTemplate> 
      <HierarchicalDataTemplate ItemsSource="{Binding Children}"> 
       <StackPanel> 
        <Image Name="imgPicture" Source=".."/>      
       </StackPanel> 
      </HierarchicalDataTemplate> 
     </TreeView.ItemTemplate> 

내가 컨트롤 템플릿에 imgPicture에 시각적 상태 애니메이션을 결합하고 싶습니다.

<VisualState Name="Selected"> 
    <Storyboard> 
      <DoubleAnimation Storyboard.TargetName="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Header}" 
Storyboard.TargetProperty="MaxHeight" 
To="100" 
Duration="0"/> 
    </Storyboard> 
</VisualState> 

하지만 (즉, TreeViewItem의 헤더이기 때문에)이 Storyboard.TargetName는 StackPanel의 결합, 나는 내부 컨트롤에 바인딩하는 데 필요한 다음 TreeViewItem의 컨트롤 템플릿에서

내가 가진 StackPanel (imgPicture) 그래서 컨트롤의 속성을 변경할 수 있습니다. xaml 바인딩 구문을 사용하여이 작업을 수행 할 수있는 방법이 있습니까? 당신의 도움을 주셔서 대단히 감사합니다.

+0

Doesn't'Storyboard.TargetName = "imgPicture"'work? – dvvrd

+0

Storyboard.TargetName = "imgPicture"를 시도했지만 예외를 반환했습니다. 'imgPicture'이름을 'System.Windows.Controls.StackPanel'의 이름 범위에서 찾을 수 없습니다. –

답변

0

ElementName 속성 (imgPicture)을 사용하여 바인딩을 만들거나 Storyboard.TargetName을 imgPicture로 설정할 수 있습니다.

+0

Storyboard.TargetName = "imgPicture"를 시도했지만 그것은 예외를 반환했습니다 : 'imgPicture'이름은 'System.Windows.Controls.StackPanel'의 이름 범위에서 찾을 수 없습니다. 또한 ElementName 설정 시도했지만 작동하지 않습니다. –

관련 문제