Hello Michael,
You can subscribe ListView.DragItemsStarting event where you can set the drag data.
Give this a try:
<StackPanel>
<ListView x:Name="listViewDataItems" CanDragItems="True" DragItemsStarting="listViewDataItems_DragItemsStarting_1" SelectionMode="Multiple" ItemsSource="{Binding}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Text}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Border AllowDrop="True" Drop="Border_Drop_1" Background="Green">
<TextBlock Name="tb" Height="100"/>
</Border>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
listViewDataItems.DataContext = new ObservableCollection<MItem> {
new MItem(){Text="A"},
new MItem(){Text="B"},
new MItem(){Text="C"},
new MItem(){Text="D"}
};
}
class MItem
{
public string Text { get; set; }
}
private async void Border_Drop_1(object sender, DragEventArgs e)
{
tb.Text = await e.Data.GetView().GetTextAsync();
}
private void listViewDataItems_DragItemsStarting_1(object sender, DragItemsStartingEventArgs e)
{
e.Data.SetText(((MItem)e.Items[0]).Text);
I hope this helps,
James
Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/
No comments:
Post a Comment