我正在尝试设计一个 WPF Datagrid,其中 RowDetails (一个文本块)将绑定到Details
网格的 ItemSource 元素的字符串属性。
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<TextBlock Text="{Binding Details}" .....
</DataTemplate>
</DataGrid.RowDetailsTemplate>
诀窍是,绑定集合中的元素可能没有Details
属性,在这种情况下,RowDetails 应该是空的。有没有办法让 WPF 绑定到在运行时甚至可能不存在的属性,而不会引发异常?(需要明确的是,绑定集合中的项目要么都具有Details
属性,要么都没有。我不是在谈论包含多个对象类型的集合。)
我想一个答案是强制此网格的用户提供始终具有 Details 属性(IDetails 接口或其他)的对象,但我认为不必这样做会很好 - 我希望网格是它可以显示的对象非常灵活。