在ScrollViewer上移动控制

时间:2014-08-22 16:26:28

标签: c# wpf

我正在开发一个小型WPF应用程序,该应用程序使用ScrollViewerImage中显示Window。 我已经生成了窗口及其所有相关代码(如果需要,我会显示它,但我认为这对于这个问题没有用处)。以编程方式。

问题/如何如下。我必须在InkCanvas中包含的图像上显示/隐藏(按下按钮)控件(基本上是ScrollViewer)。除了显示/隐藏的部分非常简单,使用按钮事件)这是在窗口添加控件(以及哪种类型的控件/容器)的最佳方式,迫使他在ScrollViewer上,然后能够移动拖动

我对WPF比较新,我使用了很多WinForms(我可以在WinForms中做到这一点,但WPF对我来说是个新世界)。

提前致谢!

1 个答案:

答案 0 :(得分:2)

至于容器,你应该使用Grid,它将在同一个单元格中居中并相互叠加控件。

至于拖放如果你想自己实现它,我在这里提供了一个最小的实现:https://stackoverflow.com/a/17014906/145757

否则,您可以使用 Blend 提供的MouseDragElementBehavior行为。

这是一个教程,演示了 Blend 本身的用法:http://www.c-sharpcorner.com/uploadfile/nipuntomar/expression-blend-4-behaviors/

但是你可以在没有Blend的情况下使用它,方法是导入Blend库并在XAML中使用它,例如:

<InkCanvas ...>
    <interactivity:Interaction.Behaviors>
        <blendbehaviors:MouseDragElementBehavior />
    </interactivity:Interaction.Behaviors>
</InkCanvas>

interactivityblendbehaviors映射到Blend命名空间。