You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF中如何在XAML模板内动态遍历数组生成TextBox(无后台代码)

WPF XAML无后台代码循环生成绑定数组元素的TextBox

最简实现(直接绑定数组元素)

如果你的ViewModel中已有数组属性(例如public string[] SomeArray { get; set; }),可以直接通过ItemsControl遍历数组,自动生成对应数量的TextBox,无需手动编写索引绑定:

<ItemsControl ItemsSource="{Binding SomeArray}">
    <!-- 定义每个数组元素对应的TextBox模板 -->
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBox Text="{Binding}" Margin="4"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>

    <!-- 可选:设置元素排列方向,默认是垂直 -->
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

原理说明

ItemsControl的核心功能就是遍历绑定的集合/数组,为每个元素生成模板内的控件。这里直接将数组绑定到ItemsSource,每个模板内的TextBox会自动绑定当前数组元素,效果完全等价于手动编写的{Binding SomeArray[0]}、{Binding SomeArray[1]}等索引绑定,且全程无需任何后台逻辑代码。

如果使用ObservableCollection替代普通数组,还能自动响应数组元素的增删变化,同步更新UI。


内容的提问来源于stack exchange,提问作者pf12345678910

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 13:42:38