2012-07-03 23 views
0

如何視圖模型的屬性在一個TreeviewHierarchicalDataTemplate結合的元素(該屬性是超出HierarchicalDataTemplate.Itemsource如何將ViewModel的屬性綁定到Treeview的HierarchicalDataTemplate中的元素?

這是示例,並且萬阿英,蔣達清是在這條線:Visibility="{Binding IsCheckBoxVisible , RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Converter={StaticResource debuger}}"/>

<UserControl ....> 
<Grid> 
    <TreeView ItemsSource="{Binding Roots}" Grid.Row="0"> 
     <TreeView.ItemContainerStyle> 
     </TreeView.ItemContainerStyle> 
     <TreeView.ItemTemplate > 
      <HierarchicalDataTemplate ItemsSource="{Binding ConfigedChildren}"> 
       <StackPanel Orientation="Horizontal" > 
        <CheckBox IsChecked="{Binding IsChecked}" Visibility="{Binding IsCheckBoxVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Converter={StaticResource debuger}}"/> 
        <Label Content="{Binding Title}"/> 
       </StackPanel> 
      </HierarchicalDataTemplate> 
     </TreeView.ItemTemplate> 
    </TreeView> 
</Grid> 

+0

參考下面的內容http://wpftution.blogspot.in/2012/06/hierarchical-databinding-in-treeview.html –

+0

@ David Bekham:我知道如何在Treeview中綁定一個Hierarchical!我的問題! –

+0

@raha你是否面臨'RelativeSource'綁定的問題? 'RelativeSourceBinding'看起來很順利。 – akjoshi

回答

1
<CheckBox IsChecked="{Binding IsChecked}" Visibility="{Binding DataContext.IsCheckBoxVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Converter={StaticResource debuger}}"/> 

使用DataContext.IsCheckBoxVisible。希望這會起作用

+0

上面你綁定到UserControl而不是UserControl的ViewModel,因此它不起作用。 DataContext綁定到ViewModel,因此它會得到這個屬性的'CompletePath' – ethicallogics

+0

@ ethicallogics:yes.you是的,這是一個有趣的錯誤,我做到了!!再次重複它,浪費時間!謝謝。 –

+0

隨時bro,它與我們學習這些錯誤。 – ethicallogics

相關問題