iv'e獲得了幾個綁定項目控件,這些控件都扮演了放置目標的角色 我需要能夠在這些項目控件之間拖放項目。無法在綁定項目控件之間拖放項目
的問題是項目控制的不是由拖放框架
ItemsControl的專家組確認爲下降目標:
<ItemsPanelTemplate x:Key="TopPipePanelTemplate">
<StackPanel></StackPanel>
</ItemsPanelTemplate>
的DataTemplate中:
<DataTemplate x:Key="PipeDataItem" >
<Ellipse Width="45" Height="45" Fill="{Binding IsMine,Converter={StaticResource MyCheckerOwnerToColorConverter}}"></Ellipse>
</DataTemplate>
ItemsControl樣式:
<Style TargetType="{x:Type ItemsControl}" x:Key="ItemsControlStyle">
<Setter Property="ItemTemplate" Value="{StaticResource PipeDataItem}"></Setter>
<Setter Property="AllowDrop" Value="True"></Setter>
<EventSetter Event="Drop" Handler="ItemsControlDropTarget"></EventSetter>
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="ItemsControl_MouseLeftButtonDown"></EventSetter>
</Style>
**對於該示例可以採取2 ItemsControls的:**
<ItemsControl ItemsSource="{Binding Path=Pipes[23].Checkers}" Style="{StaticResource ItemsControlStyle}"/>
<ItemsControl Grid.Column="1" ItemsSource="{Binding Path=Pipes[22].Checkers}" Style="{StaticResource ItemsControlStyle}"/>
時經常顯示:
空(左)一個不爲雖然AllowDrop設置爲True,並且 處理Drop事件(與所有項目控件一樣)在此屏幕上,看ItemsControl的樣式上文)
現在時的i顏色它那突然被識別ItemsControl的面板:
<ItemsPanelTemplate x:Key="TopPipePanelTemplate">
<StackPanel Background="AliceBlue"></StackPanel>
</ItemsPanelTemplate>
彷彿現在佔據整個細胞,其它佔據.. iv'e嘗試將面板設置爲VerticalAlignment =「Stretch」,但這也沒有影響
我試圖理解爲什麼我的itemcontrols不被識別爲啓用drop, 即使我期望他們佔據那個空間,此外,橢圓的項目控制 只被識別,直到橢圓的高度佔據它的內容。
什麼想法?
只是爲了闡明我的意思,認爲放置目標是拖動橢圓時,您可以將其放在項目控件的頂部。
現在iv'e剛剛成立的背景爲透明
解決方案設置了透明背景,以便堆疊面板延伸以適應整個單元格。 – 2012-03-11 09:30:13