我有一個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