首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Silverlight中拖放的数据中接收内容?

如何从Silverlight中拖放的数据中接收内容?
EN

Stack Overflow用户
提问于 2014-05-20 10:10:49
回答 1查看 95关注 0票数 0

我使用了我在Codeplex中找到的Silverlight-Toolkit中的DatagridDragDropTarget。当我拖动数据集中的一行时,我希望从该行中获取变量ID。当我删除目标(另一个数据集)上的行时,调用函数DataGridDragDropTarget_ItemDragCompleted。此函数无法100 %工作,因为我无法找到在我拖动的行中打印列ID的方法。正如你可以看到的视频,我张贴在YouTube

标签打印出来

System.Collection.Objectmode.selection

当我调试的时候。以下是功能:

代码语言:javascript
复制
    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中找到:

代码语言:javascript
复制
<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"/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-20 11:22:23

代码语言:javascript
复制
YourBindedClass secCol = e.Data as YourBindedClass;

//这是数据方式。你可以访问这些属性,

代码语言:javascript
复制
Label1.Content = secCol.Property1.ToString();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23756890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档