如何解决从 C# 在网格内插入对象
我在 xaml 代码中有一个包含一些行和列的网格。在 c# 代码中,我有一个列表,我希望其中包含的每个对象都位于网格的特定点。例如:对象 1:第 1 列第 1 行,对象 2:第 2 列第 1 行等。我该怎么办?
setSomeState()
包含一些对象的列表
<Grid Margin="15">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="50"/>
<RowDefinition Height="2"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
</Grid>
列表中的项目可能会有所不同,它们没有预先确定的数量。 对于列表中的每个元素,我想在网格中创建一个按钮
解决方法
Grid
有一个 Children
集合
myGrid.Children.Add(myElement,col,row);
,
您应该使用 ItemsControl
,它有四个部分:
- 您将集合绑定到
ItemsSource
属性。 - 您定义您的项目模板,该模板决定您的模型项目 (
HumorDiary
) 在屏幕上的显示方式。 - 您定义面板模板,该模板定义了您的项目如何组合在一起。在这种情况下,这将是您在上面定义的
Grid
。 - 要在您的网格中放置这些内容,您需要设置项目模板的样式并将
Grid.Row
和Grid.Column
属性绑定到定义它们应添加到何处的属性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。