我正在使用事件将对象 ( ScatterViewItem
) 放在 a上,并且在检测到整个放置时它工作正常,但是,我想知道该对象被放置在哪个位置。SurfaceListBox
s:SurfaceDragDrop
SurfaceListBox
SurfaceListBoxItem
我也想这样做,但为了一个,ScatterView
即检测对象被丢弃在哪个对象上。 ScatterViewItem
ScatterView
我的代码是这样的:
<s:SurfaceListBox
x:Name="listBoxList"
Background="{x:Null}"
AllowDrop="True"
s:SurfaceDragDrop.Drop="ListBox_Drop" >
</s:SurfaceListBox>
<s:ScatterView
x:Name="scatterList"
Background="{x:Null}"
AllowDrop="True"
s:SurfaceDragDrop.Drop="Scatter_Drop" >
</s:ScatterView>
然后我添加我的项目:
listBoxList.Items.Add("ListBox Item 1");
listBoxList.Items.Add("ListBox Item 1");
listBoxList.Items.Add("ListBox Item 1");
scatterList.Items.Add("ScatterViewItem A");
scatterList.Items.Add("ScatterViewItem B");
scatterList.Items.Add("ScatterViewItem C");
那么我怎样才能得到ListBox_Drop
and上的项目Scatter_Drop
呢?
编辑
通过罗伯特的回答,我设法解决了我的问题。所以生成的代码将是这样的(对于ScatterView
):
<s:ScatterView
x:Name="scatterList"
Background="{x:Null}">
<s:ScatterView.ItemContainerStyle>
<Style TargetType="s:ScatterViewItem">
<EventSetter Event="s:SurfaceDragDrop.Drop" Handler="Scatter_Drop"/>
<Setter Property="AllowDrop" Value="True" />
</Style>
</s:ScatterView.ItemContainerStyle>
</s:ScatterView>
对于SurfaceListBox
:
<s:SurfaceListBox
x:Name="listBoxList"
Background="{x:Null}">
<s:SurfaceListBox.ItemContainerStyle>
<Style TargetType="s:SurfaceListBox">
<EventSetter Event="s:SurfaceDragDrop.Drop" Handler="ListBox_Drop"/>
<Setter Property="AllowDrop" Value="True" />
</Style>
</s:SurfaceListBox.ItemContainerStyle>
</s:SurfaceListBox>