我有一个由sql表填充的数据网格。其中一个字段是与数据库中另一个表相关的id(一对多)。当我在数据库中显示此字段时,我想将其显示为引用子表中的名称字段的TextBlock / DataGridTextColumn。子表在视图模型中作为MainWindow的DataContext预加载。
我一直在寻找属性索引器来尝试这样做,但似乎索引不能变量,例如;
<DataGridTextColumn Header="Supplier name" Binding="{Binding Path=DataContext.Suppliers[{Binding SupplierID}].SupplierName, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
我想在这里做错事吗?我应该使用转换器吗?或者,我应该简单地将datagrid绑定到包含id和name字段的SQL视图吗?
答案 0 :(得分:0)
您应该可以将MultiBinding与转换器一起使用。看看here,在您的情况下,将“供应商”和“SupplierID”传递给MultiValueConverter。