将所选项目模板绑定到另一个控件模板

时间:2011-09-20 05:56:23

标签: wpf xaml data-binding listbox

我有一个带有列表项目的列表框,每个项目都是带有图标和描述文本的stackpanel。

<ListBox x:Name="lstSlectionTools"
         SelectedIndex="2"
         SelectionChanged="ListBox1_SelectionChanged">

    <StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon1}"/>
      <TextBlock Margin="3,0,0,0" Text="Item1" />
    </StackPanel>

    <StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon2}"/>
      <TextBlock Margin="3,0,0,0" Text="Item2" />
    </StackPanel>

    <StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon13}"/>
      <TextBlock Margin="3,0,0,0" Text="Item3" />     
    </StackPanel>

<StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon4}"/>
      <TextBlock Margin="3,0,0,0" Text="Item4" />
    </StackPanel>
</ListBox>

我想显示所选项目图标,如:

<ContentControl x:Name="selectTool"
                Template="{Binding SelectedItem.Template, ElementName=lstSlectionTools}"" />

我无法弄清楚如何绑定所选项目(即stackpanel第一个孩子的模板到selectTool的模板。

1 个答案:

答案 0 :(得分:0)

在这种情况下,Binding.PathSelectedItem.Children[0].Template