2012-09-06 191 views
1

我遇到了Librarystack drop事件的問題。 我需要更改一個librarystack上的drop的行爲,但是當我綁定xaml中的drop事件時,事件永遠不會被提升!Surface SDK Librarystack丟失事件

<s:LibraryStack AllowDrop="True" Drop="infoStack_Drop_1" PreviewDrop="infoStack_Drop_1" x:Name="infoStack" Canvas.Left="1" Canvas.Top="140" Height="280.5" Width="329" Background="Transparent"> 

另一個問題: 我可以改變殘疾人SurfaceTextBoxes的風格?

回答

1

我相信這應該解決您的問題:

http://msdn.microsoft.com/en-us/library/ff727842.aspx

「更改默認拖動和刪除行爲 默認情況下,當一個項目從LibraryBar控制拖放到另一個控制,它仍保持在LibraryBar控件中處於非活動狀態(灰顯狀態)。您可以通過將PreviewDropEvent事件處理程序附加到目標控件來更改此行爲。「

C#

#region AddPreviewDropHandler 
//Add the preview drop event to the stack 
SurfaceDragDrop.AddPreviewDropHandler(MainLibraryStack, OnPreviewDrop); 
#endregion 

「當拖動項目在LibraryStack控制下降,附加的事件引發。在事件處理程序,檢查,看看是否到DragSource財產屬於源LibraryBar控制。如果它會將Effects屬性更改爲DragDropEffects,以便將該項目從源LibraryBar控件中移除。「

C#

#region OnPreviewDrop 
//Add what stack effects you want here 
private void OnPreviewDrop(object sender, SurfaceDragDropEventArgs e) 
{ 
    if (MainLibraryBar.IsAncestorOf(e.Cursor.DragSource)) 
    { 
     e.Effects = DragDropEffects.Move; 
    } 
} 
#endregion