好的所以我有一个组合框,可以从管理员列表中选择一个管理员:
<ComboBox x:Name="adminCombo"
ItemsSource="{Binding AdminsList}"
DisplayMemberPath="Name"
SelectedValue="{Binding Administrator}"
SelectedValuePath="Name"/>
以下我有一个WPF Toolkit DataGrid。每个管理员都拥有一个用户定义字段列表(AvailableUDF)。在我的数据网格的第一列中,我想要一个可编辑的模板,该模板由另一个组合框组成,其项目源是属于所选管理员的字段列表。以下标记不起作用。
<toolkit:DataGrid
AutoGenerateColumns="False"
ItemsSource="{Binding Path=UserDefinedFields}">
<toolkit:DataGrid.Columns>
<toolkit:DataGridTemplateColumn Header="Custom Data">
<toolkit:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding ElementName=adminCombo,
Path=SelectedValue.AvailableUDFs}"
SelectedValue="{Binding Field.Type}"
DisplayMemberPath="Name"/>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellEditingTemplate>
</toolkit:DataGridTemplateColumn>
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
我也尝试了相对来源 - 找到祖先并在树上搜索到上一个组合框,但无济于事。奇怪的是,将相同的组合框放入ListView的项目模板中工作正常,正确的项目列表显示依赖于所选的管理员。使用WPF ListView的问题是,我最终希望在同一行上有其他可编辑单元格,而普通的ListView不是为此目的。
任何人都可以帮助我吗? 谢谢 克里斯