ListViewのAnchorItemはなぜ内部クラスを返すのか

2026年8月6日木曜日

.NET WPF C#

AnchorItemプロパティとは

ListViewはAnchorItemというprotectedプロパティを持っています。AnchorItemプロパティの説明は次のようになっています(日本語版は翻訳がひどいので英語版から)。

Gets or sets the item that is initially selected when SelectionMode is Extended.
(Inherited from ListBox)

引用元: ListView Class (System.Windows.Controls) | Microsoft Learn

説明を読む限りでは複数選択時に最初に選択した項目(だいたいの場合、項目単位のViewModel)が返されることを期待します。

ソースを確認すると

しかし、ソースを確認したところ、AnchorItemプロパティはItemInfoという内部クラスを返していました。

        protected object AnchorItem
        {
            get { return AnchorItemInternal; }
            

        internal ItemInfo AnchorItemInternal
        {
            

引用元: wpf/src/Microsoft.DotNet.Wpf/src/PresentationFramework/System/Windows/Controls/ListBox.cs at main · dotnet/wpf · GitHub

        internal class ItemInfo
        {
            internal object Item { get; private set; }
            internal DependencyObject Container { get; set; }
            internal int Index { get; set; }
            

引用元: wpf/src/Microsoft.DotNet.Wpf/src/PresentationFramework/System/Windows/Controls/ItemsControl.cs at main · dotnet/wpf · GitHub

欲しいものはItemInfoのItemプロパティに入っているようです。

rommxbbu6v6

.NET、C#、WPFの話題が多いです。

人気の投稿 / 新着記事

人気記事 新着記事
  • 読み込み中...

ラベル

.NET (5) C# (5) WPF (4)

ブログ アーカイブ

目次

このブログを検索