【问题标题】:Component moving and resizing using Adorner, AdorrnerLayer, AdornerDecorator, Thumb in WinRT XAML/C#在 WinRT XAML/C# 中使用 Adorner、AdorrnerLayer、AdornerDecorator、Thumb 移动和调整组件大小
【发布时间】:2012-07-05 15:51:17
【问题描述】:

我正在为 Win 8 开发一个类似绘画的应用程序。我使用 this WPF 应用程序作为参考。

它使用AdornerDecorator & Thumb 类来移动和调整组件大小;这些在 WinRT 中可用吗?它们似乎不可用;假设是这种情况,是否有任何解决方法可用?

【问题讨论】:

    标签: c# wpf xaml microsoft-metro windows-runtime


    【解决方案1】:

    我相信 WPF 中的装饰层只是所有其他控件之上的一层。您可以将所有此类装饰器与它们装饰的控件放在一起,或者尝试使用弹出窗口创建您自己的装饰器层,并确保您使用 IsHitTestVisible="False",只要您可以使用装饰器遮挡对其他控件的访问。

    【讨论】:

    • 我没有得到你的答案:(
    • WinRT 中似乎有一个Thumb 控件。装饰器的概念从未出现在 Silverlight 或 WinRT/XAML 中。装饰器作为一种第二组层存在于 UI 的所有非装饰器部分之上。通过创建自己的第二层来重新创建类似的行为应该很容易——使用弹出窗口、网格、画布或任何你想要的方法。但是,直接重用在 Silverlight 或 WinRT/XAML 中使用装饰器的 WPF XAML 代码可能很困难。
    • 谢谢 Filip,你能指导我一些如何使用 Grid 或 Popup 来调整画布上绘制的组件的大小吗?
    • 您将打开一个全屏弹出窗口(只需将其宽度/高度设置为屏幕大小),将诸如 Canvas 之类的东西作为弹出窗口的子级,然后您可以使用拇指可能类似的方式它是如何在该测试应用程序中完成的。我假设单击场景中的对象会显示这些拇指和装饰层中的某种矩形(弹出窗口中的画布)并移动拇指会移动/调整所选对象的大小。
    • 感谢您的想法,但我不是专业开发人员,因此无法编写代码。我已在 codeproject 上上传了我的应用程序的源代码,待审核时我会通知您,然后请您帮我处理组件移动和调整大小的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    相关资源
    最近更新 更多