当前位置:编程学习 > C#/ASP.NET >>

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

我的数据源是一个以逗号格开的的字符串例如 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中无法获得源数据,不知道有哪位大虾能有办法解决,谢谢了 --------------------编程问答-------------------- 如果你只是为了实现这功能,还不是为了学习,那直接用事件处理好了,每个TextBox加一个改变数据时激发的事情,即TextChanged。 --------------------编程问答-------------------- 其实这个DataTemplate是用在DataGrid的DataGridTemplateColumn上的 所以没法或者很困难给TextBox加事件,所以只能用绑定 --------------------编程问答-------------------- 绑定方向反了,应该用一个数据源使用多重绑定,绑定到这三个TextBox上,再写一个IMultiValueConverter。 --------------------编程问答-------------------- 那在DataTemplate能反过来绑么? --------------------编程问答-------------------- 帮顶。。。。。。。。。。。。 --------------------编程问答--------------------
引用 4 楼 cwmine 的回复:
那在DataTemplate能反过来绑么?


这和DataTemplate没有关系,关键是你这里的关系有点别扭,可能需要使用一个没有含义的“空控件”来作为过渡了。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,