Windows商店应用程序 - 两个元素一个对象绑定

时间:2014-02-20 17:50:32

标签: c# xaml binding windows-store-apps

最好的方法是什么,我将在下面描述。

我有两个文本框,在同一个对象和相同属性上有双向绑定。 现在,当我在一个文本框中更新文本时,我希望其他文本框再次从对象中获取相同的值。这是可能的,或者我必须手动完成。例如,我可以使用TextChanged事件并设置此值。

1 个答案:

答案 0 :(得分:0)

是的,您可以将单个属性绑定到两个控件

如果此类是您的DataContext(viewmodel)

public class Bind : INotifyPropertyChanged
{
   private string _text1;
   public string text1
   {
      get
      {
         return _text1;
      }
      set
      {
         _text1=value;
         NotifyPropertyChanged("text1");
      }
   }

  public event PropertyChangedEventHandler PropertyChanged;

  public void NotifyPropertyChanged(string propertyName)
  {
     if (PropertyChanged != null)
     {
         PropertyChanged(this, 
             new PropertyChangedEventArgs(propertyName));
     }
  }  
}

在XAML中

<UserControl x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="350" Width="525"
    xmlns:ViewModel="clr-namespace:WpfApplication1">
 <UserControl.DataContext>
    <ViewModel:Class1/>
 </UserControl.DataContext>
<Grid>
    <TextBox Width="150" Height="50" Text="{Binding text1, Mode=TwoWay}"/>
    <TextBox Text="{Binding text1, Mode=TwoWay}" Margin="0,232,0,0"/>
</Grid>
</UserControl>