Jos*_*nel 13 c# wpf binding datagrid combobox
我想做以下事情:
public List<Users> PreLoadedUserList { get; set; }
public List<RowEntries> SomeDataRowList { get; set; }
public class Users
{
public int Age { get; set; }
public string Name { get; set; }
}
public class SomeDataRowList
{
public int UserAge { get; set;
}
Run Code Online (Sandbox Code Playgroud)
现在我的(WPF Toolkit)DataGrid看起来像这样:
<my:DataGrid AutoGenerateColumns="False" MinHeight="200"
ItemsSource="{Binding Path=SomeDataRowList}">
<my:DataGridComboBoxColumn Header="Age"
ItemsSource="{Binding Path=PreLoadedUserList}"
DisplayMemberPath="Name"
SelectedValueBinding="{Binding Path=UserAge}"/>
</my:DataGrid>
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,PreLoadedUserList在ItemSource(SomeDataRowList)之外,我不知道如何绑定到它之外的东西.我真正想要它: - 在ComboBox中显示PreLoadedUserList - 将(RowEntries)SelectedItem.UserAge的值设置为所选ComboboxItem.Age的值
如果我的解释太奇怪,请告诉我:-)
谢谢,干杯
Jos*_*nel 24
开始了 :-)
<my:DataGridTemplateColumn Header="SomeHeader">
<my:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox SelectedValuePath="UserAge"
SelectedValue="{Binding Age}"
DisplayMemberPath="Name"
ItemsSource="{Binding Path=DataContext.PreLoadedUserList,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"
IsReadOnly="True" Background="White" />
</DataTemplate>
</my:DataGridTemplateColumn.CellTemplate>
</my:DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)
希望这也可以帮助其他人.
干杯