wpf UniformGrid 动态加载数据

在WPF中,如果你想要在UniformGrid内部为每个Model对象放置一个Panel(比如StackPanelGrid),并且这些Panel是通过数据绑定动态生成的,你需要结合使用ItemsControlDataTemplate以及UniformGrid。但是,由于UniformGrid不是ItemsControl的直接子类,你需要将UniformGrid作为ItemsPanelTemplate的内容嵌入到ItemsControl中。

cs 复制代码
public class MyModel  
{  
    public string Name { get; set; }  
    // 可能还有其他属性  
}
  1. XAML中的绑定 :在你的XAML中,使用ItemsControl并设置其ItemsSource为你的Model集合。然后,通过ItemsPanelTemplate指定使用UniformGrid作为布局,并在ItemTemplate中定义每个Model对象如何显示(即每个Model对象被放置在一个Panel中)。

    cs 复制代码
    <Window x:Class="YourNamespace.MainWindow"  
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
            Title="MainWindow" Height="350" Width="525">  
        <Grid>  
            <ItemsControl ItemsSource="{Binding Models}">  
                <ItemsControl.ItemsPanel>  
                    <ItemsPanelTemplate>  
                        <UniformGrid Rows="2" Columns="2" /> <!-- 根据需要设置行数和列数 -->  
                    </ItemsPanelTemplate>  
                </ItemsControl.ItemsPanel>  
                <ItemsControl.ItemTemplate>  
                    <DataTemplate>  
                        <StackPanel Orientation="Horizontal" Margin="5"> <!-- 使用StackPanel作为每个Model的容器 -->  
                            <TextBlock Text="{Binding Name}" />  
                            <!-- 根据需要添加其他控件 -->  
                        </StackPanel>  
                    </DataTemplate>  
                </ItemsControl.ItemTemplate>  
            </ItemsControl>  
        </Grid>  
    </Window>
相关推荐
三千道应用题5 小时前
WPF&C#超市管理系统(6)订单详情、顾客注册、商品销售排行查询和库存提示、LiveChat报表
开发语言·c#·wpf
✎ ﹏梦醒͜ღ҉繁华落℘1 天前
开发WPF项目时遇到的问题总结
wpf
hqwest2 天前
C#WPF实战出真汁06--【系统设置】--餐桌类型设置
c#·.net·wpf·布局·分页·命令·viewmodel
Vae_Mars2 天前
WPF中使用InputBindings进行快捷键绑定
wpf
hqwest2 天前
C#WPF实战出真汁05--左侧导航
开发语言·c#·wpf·主界面·窗体设计·视图viewmodel
hqwest2 天前
C#WPF实战出真汁01--项目介绍
开发语言·c#·wpf
wuty0073 天前
WPF 实现支持动态调整高度的文本显示控件
wpf·scrollviewer·extentheight·自动高度控件·动态调整高度
范纹杉想快点毕业6 天前
C 语言主控开发与显控开发能力体系及技术栈详解,STM32、QT、嵌入式、边缘系统显示
stm32·单片机·tcp/ip·microsoft·fpga开发·51单片机·wpf
weixin_447103586 天前
WPF之绑定!
c#·wpf
DataIntel6 天前
wpf问题记录
wpf