UserControl
を使った を作っていますListBox
。ある時点で、選択したアイテムのテキストを で取得する必要がありますListBox
。私が行く「通常の」方法は次のとおりです。
var selected = (CustomObject)listBox.SelectedItem;
var str = selected.PropertyShowingInListBox;
しかし、何らかの理由で をUserControl
キャストできませんSelectedItem
。したがって、次のチャンスは、SelectedItem
asobject
およびを使用してリフレクションによってテキストを取得することDisplayMemberPath
です。このような:
var selected = listBox.SelectedItem;
var str = selected.GetType().GetProperty(listBox.DisplayMemberPath).GetValue(selected, null).ToString();
しかし、それは最高ではありません。私が使用する方法はありますか?