4

我通过 Jörg Reichardt找到了使用带有 ItemsControl 和 Canvas 的 MouseDragElementBehavior 的解决方案。但这对我不起作用。

这是我的代码:

<ItemsControl ItemsSource="{Binding CardCollection}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas Background="White" AllowDrop="True" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <ContentControl Content="{Binding}">
                <i:Interaction.Behaviors>
                    <is:MouseDragElementBehavior ConstrainToParentBounds="True" />
                </i:Interaction.Behaviors>
            </ContentControl>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

这些项目显示在画布上,但不能拖放。我在视图模型中为 cardCollection 创建新项目,并且 cardCollection 通过 mvvm propertynotifychanged 更新到模型。

4

0 回答 0