首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Surface SDK Librarystack放置事件

Surface SDK Librarystack放置事件
EN

Stack Overflow用户
提问于 2012-09-06 14:40:14
回答 1查看 353关注 0票数 1

我有一个关于Librarystack drop事件的问题。我需要改变库栈上drop的行为,但是当我在xaml中绑定drop事件时,该事件永远不会被引发!

代码语言:javascript
复制
<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的样式吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-06 22:38:08

我相信这应该可以解决你的问题:

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

更改默认的拖放行为默认情况下,当项目从LibraryBar控件拖放到另一个控件上时,它将保持在LibraryBar控件中处于非活动(灰显)状态。您可以通过将PreviewDropEvent事件处理程序附加到目标控件来更改此行为。

C#

代码语言:javascript
复制
#region AddPreviewDropHandler
//Add the preview drop event to the stack
SurfaceDragDrop.AddPreviewDropHandler(MainLibraryStack, OnPreviewDrop);
#endregion

将拖动的项放到LibraryStack控件上时,将引发附加事件。在事件处理程序中,检查DragSource属性是否属于源LibraryBar控件。如果属于,请将Effects属性更改为DragDropEffects,以便从源LibraryBar控件中删除该项。

C#

代码语言:javascript
复制
#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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12294306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档