Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ScrollViewer上移动控件_C#_Wpf - Fatal编程技术网

C# 在ScrollViewer上移动控件

C# 在ScrollViewer上移动控件,c#,wpf,C#,Wpf,我正在开发一个小的WPF应用程序,它使用ScrollViewer在窗口中显示图像。 我已经以编程方式生成了窗口和所有相关代码(如果需要,我将显示它,但我认为对于这个问题来说没有用处) 问题/方法如下。我必须在ScrollViewer中包含的图像上显示/隐藏(按下按钮)控件(基本上是InkCanvas)。除了显示/隐藏部分,使用按钮事件非常简单),这是在窗口添加控件(以及哪种类型的控件/容器)的最佳方式,强制他在ScrollViewer上,然后能够拖动它移动 我对WPF比较陌生,我使用了很多Win

我正在开发一个小的WPF应用程序,它使用
ScrollViewer
窗口中显示
图像。
我已经以编程方式生成了窗口和所有相关代码(如果需要,我将显示它,但我认为对于这个问题来说没有用处)

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

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


提前谢谢

对于容器,您应该使用
网格
,该网格将在同一单元格中的控件居中放置在彼此的顶部

至于拖放,如果您想自己实现它,我在这里提供了一个最小的实现:

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

下面是一个教程,它从混合本身演示了它的用法:

但您可以通过导入混合库并从XAML中将其与以下内容一起使用,而无需混合:

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


由于
交互性
blendbehaviors
被映射到混合名称空间。

我不得不回答我的问题,帖子太长,无法直接发表评论。