问题描述
嗨!
默认情况下,当我从LibraryBar或LibraryContainer拖动一个项目并将其放到另一个项目时 - 它会被移动到它中。我想改变那种行为,所以不能从源容器中删除项目,只是复制到目标。
By default when I drag an item from LibraryBar or LibraryContainer and drop it to another one - it's being moved into it. I want to change that behaviour so item must not be removed from the source container and just copied to target.
我试图搜索msdn并在这里找到一些示例代码 http://msdn.microsoft.com/en-us/library /ee957313(v=surface.15).aspx 但它对我没有用
,而且它不是我需要的。
I've tried to search msdn and found some example code here http://msdn.microsoft.com/en-us/library/ee957313(v=surface.15).aspx but it didn't worked for me, moreover it's not exactly what I need.
Can有人帮我吗?
谢谢。
推荐答案
正如您可以阅读msdn文章
as you can read on the msdn article Using the LibraryContainer Control
默认情况下,LibraryContainer控件的项目已启用,并在用户将其拖动到另一个控件时被禁用。 LibraryContainer控件中的禁用项具有以下特征:
By default, the items of a LibraryContainer control are enabled and become disabled when users drag them into another control. A disabled item in a LibraryContainer control has the following characteristics:
- 在水平栏视图中,禁用的项目显示为灰色。用户无法拖动它。
- 在垂直堆栈视图中,项目将从堆栈中删除。
您可以使用
SetIsItemDataEnabled 方法。以下代码示例禁用所有小项。
You can change the state of an item by using the SetIsItemDataEnabled method. The following code example disables all small items.
foreach (System.Xml.XmlNode node in MainLibraryContainer.ItemsSource)
{
if (node.Attributes["Size"] != null && node.Attributes["Size"].Value == "Small")
{
MainLibraryContainer.SetIsItemDataEnabled(node, false);
}
}
希望有帮助
这篇关于LibraryBar / LibraryContainer - 更改拖放行为的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!