我有一个DataGrid
3列(id,User,MachineID)我正在寻找从这个网格中获得机器ID。最好我想用一个复选框来选择多行,但我只需要在一次排序中得到一行。WPF Datagrid从某一行的单元格中选择一个值
<DataGrid Grid.Column="0" Grid.Row="0"
DockPanel.Dock="Bottom" AutoGenerateColumns="False"
ItemsSource="{Binding Path=UserList}" SelectionMode="Single"
SelectedItem="{Binding SelectedCpuID, Mode=TwoWay}">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding UserID}"></DataGridTextColumn>
<DataGridTextColumn Width="200" Header="User" Binding="{Binding UserName}"></DataGridTextColumn>
<DataGridTextColumn Width="210" Header="Machine ID" Binding="{Binding MachineID}"></DataGridTextColumn>
它绑定到视图模型,但我得到的对象名称,而不是行的内容(application.Users)。我试过SelectedItem="{Binding SelectedCpuID.MachineID, Mode=TwoWay}">
这也没有工作。我对WPF和数据绑定相当陌生,所以我一直试图去关注另一个我们在这里产生的程序,它做了类似的事情,但是使用了组合框,它似乎与数据网格不一样。
任何人都知道如何让这个工作,请让我知道。 谢谢, 山姆
是的,我确实有类似的代码,我应该包括它在后,抱歉。我想要做的是当行被选中时我想获取机器ID,以便我可以使用它进行查询。我将修改我的帖子以显示栏目的代码。 –
没关系,我现在正在工作。你让我走在正确的轨道上我没有意识到我的SelectedCpuID属性被设置为字符串而不是(用户)列表 –
@SamLucas,最后一个笔记。你的“SelectedItem”应该是表示同一个类的一个实例的那个,所以当用户选择一个记录时,整个对象实例将在你的“SelectedCpuID”属性中。从那里,您可以使用SelectedCpuId.MachineID(或其任何部分)来查询目的。 – DRapp