WPF中如何实现多个TextBox和数组的绑定

zhoucs21 2017-01-17 08:49:05
请教:WPF中如何实现多个TextBox和数组的绑定。
我以前的做法是把TextBox做成控件数组,但是现在想用WPF的Binding,一对一的绑定我知道,但是这种绑定数组的却没弄明白。
变量是单独建了个类存放的,像这样:
public class Student:INotifyPropertyChanged
{
private string name;
public string Name
{
set
{
name = value;
NotifyPropertyChanged("Name");
}
get { return name; }
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this,new PropertyChangedEventArgs(propertyName));
}
}
}

绑定使用代码写的,像这样:
public MainWindow()
{
InitializeComponent();
student = new Student();
Binding binding = new Binding();
this.TextBox1.SetBinding(TextBox.TextProperty, new Binding("Name") { Source = student });
}
...全文
2171 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
资深键盘侠 2018-04-28
  • 打赏
  • 举报
回复
解决了,可以看下你的代码吗。。。我现在卡在这个问题啊
weixin_41607748 2018-01-09
  • 打赏
  • 举报
回复
你好,我想知道你怎么解决问题的?我也遇到这样的问题,我定义了一个结构体,在List集合里存了两个数据,现在想在第一个textbox框绑定第一个数据 ,第二个textbox框绑定第二个数据
影湖 2017-12-03
  • 打赏
  • 举报
回复
请问楼主是怎么解决这个问题的啊?我现在也遇到了同样的问题,求教。
zhoucs21 2017-01-20
  • 打赏
  • 举报
回复
引用 11 楼 stherix 的回复:
直接绑定那只能写代码一个个循环绑定 不然就TextBox放到一个有ItemSource的容器里,让容器绑定数组,TextBox作为子项
多谢,已解决
zhoucs21 2017-01-20
  • 打赏
  • 举报
回复
引用 11 楼 stherix 的回复:
直接绑定那只能写代码一个个循环绑定 不然就TextBox放到一个有ItemSource的容器里,让容器绑定数组,TextBox作为子项
循环绑定的话,像这种方式是不认的。 string[ ] name string[ ] Name{get;set;} new Binding("Name[0]")?,这样不行啊
stherix 2017-01-20
  • 打赏
  • 举报
回复
直接绑定那只能写代码一个个循环绑定 不然就TextBox放到一个有ItemSource的容器里,让容器绑定数组,TextBox作为子项
zhoucs21 2017-01-20
  • 打赏
  • 举报
回复
引用 9 楼 mjp1234airen4385 的回复:
for(int i = 0; i < flowText.Length; i++) flowText[i].Text = Name[i]
这个我知道,但是用绑定(binding)的方式要怎么弄?
mjp1234airen4385 2017-01-20
  • 打赏
  • 举报
回复
for(int i = 0; i < flowText.Length; i++) flowText[i].Text = Name[i]
zhoucs21 2017-01-20
  • 打赏
  • 举报
回复
我原来的做法是 private TextBox[] flowText=new TextBox[10]; 绑定应该怎么写
zhoucs21 2017-01-19
  • 打赏
  • 举报
回复
可能我说的不太清楚,我的意思是有一组textBox,想要和一个数组name[ ]绑定.。也就是:
textBox1.text=name[0];
textBox2.text=name[1];
textBox3.text=name[2];
……
textBoxn.text=name[n];
zhoucs21 2017-01-17
  • 打赏
  • 举报
回复
引用 1 楼 Libby1984 的回复:
设置this.DataContext=this;你可以参考下下面的代码: http://blog.csdn.net/libby1984/article/details/53099395
可我想要不定长数组啊。 有没有能直接写成string[ ] name string[ ] Name{get;set;}这种的
zhoucs21 2017-01-17
  • 打赏
  • 举报
回复
TwoWay
angel6709 2017-01-17
  • 打赏
  • 举报
回复
oneway ?
  • 打赏
  • 举报
回复
设置this.DataContext=this;你可以参考下下面的代码: http://blog.csdn.net/libby1984/article/details/53099395
  • 打赏
  • 举报
回复
引用 4 楼 zhoucs21 的回复:
[quote=引用 1 楼 Libby1984 的回复:] 设置this.DataContext=this;你可以参考下下面的代码: http://blog.csdn.net/libby1984/article/details/53099395
可我想要不定长数组啊。 有没有能直接写成string[ ] name string[ ] Name{get;set;}这种的[/quote] 你将例子中的MoveName换成你自己的,其他的去掉不就可以了吗。
  • 打赏
  • 举报
回复
引用 4 楼 zhoucs21 的回复:
[quote=引用 1 楼 Libby1984 的回复:] 设置this.DataContext=this;你可以参考下下面的代码: http://blog.csdn.net/libby1984/article/details/53099395
可我想要不定长数组啊。 有没有能直接写成string[ ] name string[ ] Name{get;set;}这种的[/quote] 例子中使用的是ObservableCollection,你也可以使用啊。和List是一样的,还多了通知功能,用于绑定。

8,734

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧