我正在开发一个小型WPF应用程序,该应用程序使用ScrollViewer
在Image
中显示Window
。
我已经生成了窗口及其所有相关代码(如果需要,我会显示它,但我认为这对于这个问题没有用处)。以编程方式。
问题/如何如下。我必须在InkCanvas
中包含的图像上显示/隐藏(按下按钮)控件(基本上是ScrollViewer
)。除了显示/隐藏的部分非常简单,使用按钮事件)这是在窗口添加控件(以及哪种类型的控件/容器)的最佳方式,迫使他在ScrollViewer上,然后能够移动拖动?
我对WPF比较新,我使用了很多WinForms(我可以在WinForms中做到这一点,但WPF对我来说是个新世界)。
提前致谢!
答案 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>
将interactivity
和blendbehaviors
映射到Blend命名空间。