WPF-在没有设计器的情况下创建实体布局



我是盲人,我想使用WPF,因为它在很多方面都更容易访问。然而,过去在屏幕上定位元素的设计师是不可访问的。
在Winforms中,我使用每个控件的大小和位置属性来排列它们,使它们在屏幕上不重叠。这与逻辑有关,而不是视觉,所以它进行得相当顺利。
不过,在WPF中,情况有点不同。我知道有几个布局容器,比如Dockpanel、Stackpanel等。但我不确定它们是否能防止控件重叠。
所以我的问题是:如果你看不见,你会如何安排控件以确保它们不会重叠?您会使用哪些布局控件?

在WPF中放置控件而不重叠控件的最简单方法是使用<Grid.RowDefinitions><Grid.ColumnDefinitions>。您可以使用固定值或相对值(使用"*"(定义宽度和高度。为了更好和简单的解释,我可以建议这两个网站:

  • https://www.wpftutorial.net/GridLayout.html

  • https://www.wpf-tutorial.com/panels/grid-rows-and-columns/

在网格中,您可以再次放置其他控件、面板,甚至其他具有自己的行和列定义的网格,从而实现创造性设计。

是的,它们可以防止控件重叠。这实际上是WPF的一个优点:它的容器相对于彼此和其他控件放置控件,这样它们就不会重叠、调整大小或在窗口调整时移动。如果控件大小将超过容器的大小,则控件的该部分将被隐藏,而不会与相邻控件重叠。这与任何容器有关,画布除外,画布中的元素是按绝对坐标放置的。

相关内容

最新更新