2014-02-11 60 views
1

当我想要控制交互时,他们应该直接通过xaml进行交互还是使用视图模型?绑定到xaml或viewmodel?

,比如我有两个文本框和要求是A和B显示相同的文本

<TextBox Name = "A" Text = "{Binding ViewModel.MyText}"/> 
<TextBox Name = "B" Text = "{Binding ViewModel.MyText}"/> 

是它更好地写?

<TextBox Name = "A" Text = "{Binding ViewModel.MyText}"/> 
<TextBox Name = "B" Text = "{Binding ElementName = A, Path = Text"/> 

这当然是最简单的情况。

回答

4

这完全是基于观点的。如果我必须这样做,我宁愿第二种方法(带的ElementName绑定)的理由如下:

  1. 如果两个文本框必须在同步始终。考虑以某种方式绑定破坏,即使在这种情况下两个文本框将同步
  2. 如果更新属性名称,那么我有更少的地方在XAML去和更新(显然不是重点,但只是列出原因,这是其中之一)。
  3. 三,如果Name包含类的属性没有实现INPC,那么即使两个文本框同步。可以阅读更多关于here

完全由你自己决定,因为这两种方法都很好。