WPF TreeView でプログラム的に項目を選択するにはどうすればよいでしょうか? 質問する

WPF TreeView でプログラム的に項目を選択するにはどうすればよいでしょうか? 質問する

WPF でプログラムによって項目を選択するにはどうすればよいですかTreeView?ItemsControlモデルではそれができないようです。

ベストアンサー1

この問題の正しい解決策をまだ探している人のために、以下を紹介します。これは、Code Project の記事「WPF TreeView Selection」のコメントで見つけたものです。http://www.codeproject.com/KB/WPF/TreeView_SelectionWPF.aspxDaWanderer による投稿。2008 年 11 月 25 日に Kenrae によって投稿されました。これは私にとってはうまくいきました。ありがとう、Kenrae!

彼の投稿は次のとおりです。

ツリーをたどる代わりに、独自のデータ オブジェクトに IsSelected プロパティを設定します (IsExpanded プロパティも推奨)。 TreeView の ItemContainerStyle プロパティを使用してツリーの TreeViewItems のスタイルを定義し、TreeViewItem のプロパティをデータ オブジェクトにバインドします。次のようになります。

<Style x:Key="LibraryTreeViewItemStyle"
               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="Bold" />
                  </Trigger>
            </Style.Triggers>
      </Style>

<TreeView ItemsSource="{Binding Path=YourCollection}"
               ItemContainerStyle="{StaticResource LibraryTreeViewItemStyle}"
               ItemTemplate={StaticResource YourHierarchicalDataTemplate}/>

おすすめ記事