用户控件的位置
本文关键字:位置 控件 用户 | 更新日期: 2023-09-27 18:14:58
我正在开发一个WPF应用程序,并且我已经创建了一个自定义用户控件,因为我需要在主窗口上创建它的实例。下面是我创建一个新实例的方法:
var MyCard = new vCard();
MainGrid.Children.Add(MyCard);
Grid.SetColumn(MyCard, 1);
Grid.SetRow(MyCard, 0);
但是我需要把每一个都按顺序排列,所以,我如何设置X &每一个的Y位置。我尝试在我的usercontrol中创建一个方法来设置margin属性,例如:
public void SetX(double X)
{
double Y =this.Margin.Top;
this.Margin = new Thickness(X, Y, 0, 0);
}
但是,它不起作用。还有别的办法吗?
当您将控件添加到Grid
容器时,您应该通过设置Column
和Row
来设置其位置。
为了做到这一点,您将需要配置您的网格,使其具有添加新用户控件所需的行数和列数。
一个经常被忽略的控件是UniformGrid。
<UniformGrid Name="MainGrid" Rows="3" Columns="2"/>
继续像以前一样添加UserControl
。
var MyCard = new vCard();
MainGrid.Children.Add(MyCard);
这将为您的项目提供一个漂亮且均匀分布的容器。如果你想调整项目之间的间距,有几种方法可以做到,最简单的是调整UserControl
本身的Margin
属性。
<UserControl Margin="8" ... />
我将创建对象的ObservableCollection
,并将它们放置在堆栈面板中。这样你就可以添加/删除/订购用户控件。然后你就可以设置堆栈内部的大小。