UserControl数据绑定与树视图

时间:2011-07-02 18:39:32

标签: c# wpf data-binding user-controls treeview

我有UserControl,其中包含TreeViewTextBlock

<TreeView ItemsSource="{Binding FirstGeneration}" AllowDrop="True"  Drop="TreeView_Drop" Width="300">

                <TreeView.ItemContainerStyle>

                    <Style TargetType="{x:Type TreeViewItem}">

                    <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
          <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
          <Setter Property="FontWeight" Value="Normal" />

                    <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
              <Setter Property="FontWeight" Value="Normal" />
            </Trigger>
          </Style.Triggers>
        </Style>
      </TreeView.ItemContainerStyle>

      <TreeView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding Children}">
                    <StackPanel Orientation="Horizontal" >
                        <Image Source="{Binding Path=Image}" />
                        <TextBlock Text="{Binding Name}" />
                    </StackPanel>
                </HierarchicalDataTemplate>
      </TreeView.ItemTemplate>
    </TreeView>
     <TextBlock Height="23" Name="textBlock1" Text="{Binding= ???}" Width="187" />

当我选择树视图的一个项目时,我想要显示项目中包含的一些信息(例如:所选项目的名称)。

我的问题是我不知道如何进行这种绑定,因为当我选择一个项目时,会调用item类的setter IsSelected。

你有这样做的最佳实践吗?

1 个答案:

答案 0 :(得分:1)

MSDN中查看此内容。还有BindableSelectedItemBehaviour here