2017-04-08 31 views
-1

我正試圖讓一個應用程序允許我創建對象並將它們放置在畫布區域中。我的應用程序的實際的行爲是:Wpf放置對象

  1. 創建一個對象,並將其添加到列表框中
  2. 您可以通過rightclicking它在列表框修改對象,還可以複製它
  3. 放置對象的畫布區域的阻力,並從列表框中
  4. 您可以通過拖放它在該地區自由移動的對象拖放

我的問題是我應該如何處理,如果一個項目已經放置在該區域? 我已經檢查,但只針對

Private Sub MyCanvas_MouseUp(sender As Object, e As MouseButtonEventArgs) 
    Dim Position As Point = e.GetPosition(MyCanvas) 
End Sub 

隨着我檢查,如果左鍵被釋放了一個多使用面積,但如果我的對象之前釋放鼠標也會重疊另一個

我會要定義網格處置在一個秩序井然的方式感謝的對象事先

回答

0

trye是這樣的:

<Canvas  > 
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" > 
    <ItemsControl ItemsSource="{Binding Tasks, UpdateSourceTrigger=PropertyChanged}" > 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <WrapPanel Orientation="Horizontal" AllowDrop="True" > 

       </WrapPanel> 
      </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 

     <ItemsControl.ItemTemplate> 
      <DataTemplate> 

       <yourControls/> 

      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 
</ScrollViewer> 
</Canvas> 

這將自行組織您的控件,或其他任何您在其中包含的內容