发布网友 发布时间:2024-10-23 23:12
共1个回答
热心网友 时间:2024-10-29 21:27
在WPF中,你不能直接在XAML中定义一个TextBox数组,但你可以通过使用ItemsControl或者DataTemplate来创建多个TextBox,然后在C#代码中使用集合来访问它们。下面是一个使用ItemsControl的例子:
XAML部分:
<Window x:Class="WpfApp.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 x:Name="textBoxCollection">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=Text, Mode=TwoWay}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Window>
C#部分:
using System.Collections.ObjectModel;
using System.Windows;
namespace WpfApp
{
public partial class MainWindow : Window
{
// 创建一个ObservableCollection来存储TextBox的数据
public ObservableCollection<TextBoxData> TextBoxes { get; set; }
public MainWindow()
{
InitializeComponent();
// 初始化集合
TextBoxes = new ObservableCollection<TextBoxData>
{
new TextBoxData(),
new TextBoxData(),
// 添加更多的TextBoxData对象
};
// 将集合绑定到ItemsControl
textBoxCollection.ItemsSource = TextBoxes;
}
}
// 定义一个类来存储每个TextBox的数据
public class TextBoxData
{
public string Text { get; set; }
}
}