我使用了我在Codeplex中找到的Silverlight-Toolkit中的DatagridDragDropTarget。当我拖动数据集中的一行时,我希望从该行中获取变量ID。当我删除目标(另一个数据集)上的行时,调用函数DataGridDragDropTarget_ItemDragCompleted。此函数无法100 %工作,因为我无法找到在我拖动的行中打印列ID的方法。正如你可以看到的视频,我张贴在YouTube!
标签打印出来
System.Collection.Objectmode.selection
当我调试的时候。以下是功能:
private void DataGridDragDropTarget_ItemDragCompleted(object sender, ItemDragEventArgs e)
{
Label1.Content = "Function is called";
SelectionCollection secCol = e.Data as SelectionCollection;
for (int i = 0; i < secCol.Count; i++)
{
Label1.Content += " " + secCol[i].ToString();
}
}这里是xaml最重要的部分。完整的源代码可以在我的dropbox中找到:
<toolkit:DataGridDragDropTarget AllowDrop="True"
AllowedSourceEffects="Copy"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="10, 10, 0, 0"
ItemDragCompleted="DataGridDragDropTarget_ItemDragCompleted" >
<sdk:DataGrid AutoGenerateColumns="False"
Height="150"
HorizontalAlignment="Left"
Name="FirstGrid"
VerticalAlignment="Top"
Width="476"
ColumnWidth="*"
SelectionMode="Extended"
ItemsSource="{Binding}">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding ID}"
Header="Id" />
<sdk:DataGridTextColumn Binding="{Binding Name}"
Header="Name" />
<sdk:DataGridTextColumn Binding="{Binding BookTitle}"
Header="BookTitle" />
<sdk:DataGridTextColumn Binding="{Binding DOB}"
Header="DOB" />
<sdk:DataGridTextColumn Binding="{Binding IsMVP}"
Header="IsMVP" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
</toolkit:DataGridDragDropTarget>
<sdk:Label Name="Label1" Height="28" Width="420" Margin="140,0"/>
<sdk:DataGrid AllowDrop="True" Height="125" Margin="92,0,81,0"/>发布于 2014-05-20 11:22:23
YourBindedClass secCol = e.Data as YourBindedClass;//这是数据方式。你可以访问这些属性,
Label1.Content = secCol.Property1.ToString();https://stackoverflow.com/questions/23756890
复制相似问题