MVVM,WPF,C#中的Thumb Drag

我有一个在C#WPF中编写的工作应用程序.我喜欢练习使用MVVM,所以我喜欢和MVVM一样编写应用程序.但我遇到了一个问题.在我的应用程序中我使用

<Thumb DragDelta="Thumb_Drag" 
       DragStarted="Thumb_DragStarted"
       DragCompleted="Thumb_DragCompleted"
       ...

我如何在MVVM中编写这个“Drag& Drop / Draggable”示例?我用“绑定”还是别的什么?任何例子都会非常欢迎:)谢谢!

如果不明白请问我.

解决方法:

可以使用System.Windows.Interactivitylibrary,它可以作为项目中的参考添加.

添加命名空间:

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

并通过< i:InvokeCommandAction>调用命令:

<Thumb>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="DragDelta">
            <i:InvokeCommandAction Command="{Binding DataContext.ThumbDragDeltaCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</Thumb>

视图模型:

private ICommand ThumbDragDeltaCommand { get; set;}

public MainViewModel() //Constructor
{
    ThumbDragDeltaCommand = new DelegateCommand(x => 
    {
        //EventHandler
        //Do stuff...
    }
}

但是,只要事件只触发图形更改,您仍然可以在代码隐藏中处理事件,同时仍然提交到MVVM模式.

上一篇:JQuery EasyUI---Draggable( 拖动) 组件


下一篇:Adobe Edge Animate --使用JQuery制作的美女拼图