my Silverlight 4アプリケーションにツリービューが含まれています。私はHierarchicalDataTemplateとTreeViewItemsの外観をカスタマイズしていますHierachicalDataTemplateによって変更されたTreeViewItemのUIElementにアクセスします。
<sdk:TreeView x:Name="TreeViewModel" ItemTemplate="{StaticResource DataTemplateTreeViewDisplayObjects}" .../>
<sdk:HierarchicalDataTemplate x:Key="DataTemplateTreeViewDisplayObjects" ItemsSource="{Binding Children}">
<Grid>
<Border x:Name="BorderComponent" .../>
</Grid>
</sdk:HierarchicalDataTemplate>
は最終的に、私はすべてのTreeViewItemsを解析し、UIElement(すなわち「BorderComponentに」)にアクセスする必要があります。同様に:
foreach (TreeViewItem tvi in _myTreeView.Items)
tvi.BorderComponent.Visibility = Visibility.Collapsed
アイテムがバインドされたオブジェクトを返すので、明らかにこれは機能しません。 TreeViewItem(最初のTreeViewItemを取得するためにTreeViewItemとして_myTreeView.ItemContainerGenerator.ContainerFromIndex(0))にアクセスできる場合でも、TreeViewItemはHierarchicalDataTemplateについて認識していないため、Borderにアクセスする方法がわかりません。アイテムの作成に使用されます。
どのように私は "TreeViewItemの" BorderComponent "項目にアクセスすることができますか?あなたが直接、UIコンポーネントにアクセスしないようにする必要があり、事前に
おかげで、
フランク