当前位置:  开发笔记 > 运维 > 正文

你如何在WPF中做相对定位?

如何解决《你如何在WPF中做相对定位?》经验,为你挑选了2个好方法。

你如何在WPF中相对定位元素?标准模型是使用布局管理器来处理所有事情,但是如果你想简单地根据其他元素的位置定位元素(例如在Canvas上)呢?

例如,您可能希望将一个元素(例如按钮)附加到另一个元素(可能是面板)的一侧,而与该面板的位置或布局无关.任何使用过工程工具(SolidWorks,AutoCad等)的人都熟悉这种相对定位.

将所有内容强制转换为布局管理器(不同的WPF面板)对于某些场景没有多大意义,在这些场景中,您并不关心某些父容器是否维护了这些元素,并且您不希望其他子项受到更改的影响.彼此的布局/外观.WPF是否以任何方式支持这种相对定位模型?



1> Dave Arkell..:

您可以在画布上放置一个堆叠面板,水平对齐,然后将两个按钮放在那里,而不是直接在画布上放置(如您的示例中)按钮.

像这样:


  
    
  

替代文字

我认为当你在一个表单中使用多个布局时它非常灵活,你可以创建你想要的任何配置.



2> Jobi Joy..:

好问题.据我所知,我们需要一个不同的自定义面板来获得此功能.由于WPF基于Visual Hierarchy,因此无法为平台中的元素提供此类Flat结构.

但这是一个诀窍. 将元素放在相同的位置,并使用RenderTransform.TranslateTransform进行相对位移.这样你的TranslateTransfrom的X和Y将永远与另一个元素相关.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有