【问题标题】:Multiple Row Selection in Wpf DataGridWpf DataGrid中的多行选择
【发布时间】:2011-08-12 18:05:04
【问题描述】:

在过去的一个月里,我一直在为这个问题而苦苦挣扎。请帮帮我。 我有一个 WPF 数据网格(datagrid1),我在其中填充一个数据表,它工作正常,在同一个 UI 中,我有另一个 WPF 数据网格(datagrid2),它将作为从第一个 datagrid1 中选择的多行填充,我们该怎么做这?主要问题是我想绑定被选中的行(多个)我该怎么做?请帮帮我。

<DataGrid Name="dataGridSearchResults" 
          FontWeight="Normal" AutoGenerateColumns="False" 
          IsReadOnly="True" 
          ItemsSource="{Binding SearchResults,Mode=Default}" 
          SelectedIndex="{Binding SelectedIndexSearchResults}" 
          SelectionMode="Single" Margin="1,0,0,0" 
          Height="174" GridLinesVisibility="None" >
   <DataGrid.Columns>
        <DataGridTextColumn Header="RFC ID" Binding="{Binding RFCID}"></DataGridTextColumn>
        <DataGridTextColumn Header="RFC Title" Binding="{Binding RFCTitle}"></DataGridTextColumn>
        <DataGridTextColumn Header="RFC Revision" Binding="{Binding RFCRevision}"></DataGridTextColumn>
        </DataGrid.Columns>
</DataGrid>`

谢谢 纳尔斯卡西

【问题讨论】:

    标签: wpf datagrid multipleselection


    【解决方案1】:

    您只需要将第二个数据网格的ItemsSource 属性绑定到第一个数据网格的SelectedItems 属性:

    <WPFToolkit:Datagrid x:Name="dg1" ItemsSource="{Binding MySourceFromDatabase}" SelectionMode="Extended"/>
    
    <WPFToolkit:Datagrid x:Name="dg2" ItemsSource="{Binding ElementName=dg1,Path=SelectedItems}" />
    

    【讨论】:

    • 感谢您回复布鲁诺,但我想要的是您如何绑定第一个 datagrid1 中的选定行?
    • 你说填充你的第一个数据网格工作正常,所以我认为阻塞点是如何使用第一个数据网格的选定元素设置第二个数据网格......我误解了什么吗?如果是这种情况,我建议您发布一些代码示例以澄清事情。
    • 我的确切阻塞是我无法在 Viewmodel 中绑定选定的行,现在我已经使用 selctionmode='single' 完成了单行选择,但即使在我更改为“扩展”之后我也能够选择多行但无法捕获选定的索引或选定的行:(
    • 嗯,是的,SelectedItems 到视图模型的绑定有点棘手,原因很简单,这个属性没有设置器,所以你不能从 ViewModel 绑定到 XAML...尝试检查这个链接,看看你是否能找到一些关于如何实现这个的提示[链接]stackoverflow.com/questions/3566658/…
    • 谢谢,这是我认为的唯一方法。创建一个新的依赖属性,然后按照您上面提到的相同链接。
    猜你喜欢
    • 2012-03-12
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    相关资源
    最近更新 更多