我有一个XAML文件,基于Grid
s,StackPanel
s,.:在一行上,我有一个控件,位于StackPanel
上。旁边有另一个StackPanel
。旁边有一个Grid
,包含另一个StackPanel
和两个UserControl
(UC1_1
,UC1_2
,UC2_1
,UC2_2
,...),等等,等等,.
在此下面,我有另一个UserControl
(OtherUC
),现在我想在其他控件上对齐该控件。为了做到这一点,我需要类似于:
OtherUC.Margin.X = StackPanel1.Width + StackPanel1.Margin.X +
StackPanel2.Width + StackPanel2.Margin.X +
UC1_1.Width + UC1_1.Margin.X +
UC1_2.Width + UC1_2.Margin.X + ...
字符串
我可能不需要添加边距和宽度,但这不是重点:重点是我需要为某些东西添加很多东西,这可能会更容易,如下所示:
OtherUC.Center.X = UC1_4.Center.X;
型
有没有一个XAML控件的Center
属性可以很容易地设置?
1条答案
按热度按时间irlmq6kh1#
没有
Center
属性可以使用。但我想,如果你想根据其他控件的位置来居中控件,你可以使用
RenderTransfrom
,无论是在XAML中绑定,还是在代码背后。为了便于解释,这里是CodeBehind中的示例。
下面是重现问题的最小UI
字符串
下面是代码
型
正如你所看到的,我使用
TranslatePoint
来获得每个“Control”的中心,然后RenderTranform
选择“Control”到该中心。