1

在 TreeViewItem 控件模板中,我需要将视觉状态绑定到子控件,但我无法弄清楚绑定语法。

在 TreeView 的 HierarchicalDataTemplate 我有:

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

我想将视觉状态动画绑定到控件模板中的 imgPicture。

在 TreeViewItem 的控件模板中,我有:

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

但是 Storyboard.TargetName 绑定到 StackPanel(因为那是 TreeViewItem 的标题),我需要它绑定到 StackPanel 内的控件(imgPicture),以便我可以更改控件的属性。有没有办法通过使用 xaml 绑定语法来做到这一点?非常感谢您的帮助。

4

1 回答 1

0

您可以使用 ElementName 属性 (imgPicture) 创建绑定,或将 Storyboard.TargetName 设置为 imgPicture。

于 2012-08-22T19:55:33.883 回答