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