WPF多个控件绑定到一个数据源和路径的问题

cwmine 2010-03-03 05:22:02
我的数据源是一个以逗号格开的的字符串例如 11,22,33
想在DataTemplate中绑定到三个TextBox控件中,
比如 如果源数据是11,22,33
那么分别绑定到TextBox1,TextBox2,TextBox3里,分别显示11 22 33
然后当textBox中的数据修改时,能写回去,例如当TextBox1将11改成12 数据源就会编程12,22,33


<DataTemplate>
<StackPanel>
<TextBox>
<TextBox.Text>
<Binding Path="data" Converter="{StaticResource dataSplit}" ConvertParameter="0"/>
</TextBox.Text>
</TextBox>
<TextBox>
<TextBox.Text>
<Binding Path="data" Converter="{StaticResource dataSplit}" ConvertParameter="1"/>
</TextBox.Text>
</TextBox>
<TextBox>
<TextBox.Text>
<Binding Path="data" Converter="{StaticResource dataSplit}" ConvertParameter="2"/>
</TextBox.Text>
</TextBox>
</StackPanel>
</DataTemplate>

现在我按照上面的代码实现,通过dataSplit转换器,可以将从源到TextBox时(Convert)分别提取出三部分数据,但是写回去(ConvertBack)就不行,因为在ConvertBack中无法获得源数据,不知道有哪位大虾能有办法解决,谢谢了
...全文
352 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
RexZheng 2010-03-04
  • 打赏
  • 举报
回复
引用 4 楼 cwmine 的回复:
那在DataTemplate能反过来绑么?


这和DataTemplate没有关系,关键是你这里的关系有点别扭,可能需要使用一个没有含义的“空控件”来作为过渡了。
ILOVE_ASPNET 2010-03-03
  • 打赏
  • 举报
回复
帮顶。。。。。。。。。。。。
cwmine 2010-03-03
  • 打赏
  • 举报
回复
那在DataTemplate能反过来绑么?
RexZheng 2010-03-03
  • 打赏
  • 举报
回复
绑定方向反了,应该用一个数据源使用多重绑定,绑定到这三个TextBox上,再写一个IMultiValueConverter。
cwmine 2010-03-03
  • 打赏
  • 举报
回复
其实这个DataTemplate是用在DataGrid的DataGridTemplateColumn上的 所以没法或者很困难给TextBox加事件,所以只能用绑定
上海程序员3 2010-03-03
  • 打赏
  • 举报
回复
如果你只是为了实现这功能,还不是为了学习,那直接用事件处理好了,每个TextBox加一个改变数据时激发的事情,即TextChanged。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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