WPF如何仅使用XAML将Listbox SelectedItem强制转换为

时间:2017-03-12 09:46:02

标签: wpf xaml casting listbox selecteditem

不知道如何比一个例子更好地说出这个。考虑我有两个班级。

public class Person {
    public Hair Hair { get; set; }
}
public class Hair {
    public string Color { get; set; }
}

我还有一个列表框(MyListBox),其ItemSource是Person的列表。

现在我有一个需要显示所选列表项的文本块。我希望能够将SelectedItem强制转换为Person,以便文本框可以显示Hair Color。

我可以像这样设置datacontext到Hair属性(这样可以):

DataContext="{Binding ElementName=MyListBox, Path=SelectedItem.(local:Person.Hair)}"
Text="{Binding Color}"

但我真正喜欢的是将其作为Person转换为DataContext,如下所示(它不起作用):

DataContext="{Binding ElementName=MyListBox, Path=SelectedItem.(local:Person)}"
Text="{Binding Hair.Color}"

如何将SelectedItem转换为XAML中的Person?

0 个答案:

没有答案