C# 以最小的工作量将用户控件绑定到对象比例
我有用户控制:C# 以最小的工作量将用户控件绑定到对象比例,c#,wpf,xaml,binding,user-controls,C#,Wpf,Xaml,Binding,User Controls,我有用户控制: <UserControl> <TextBox Name="TB1"/> <TextBox Name="TB2"/> </UserControl> 在哪里 public class TwoStrings { string S1 { get; set; } string S2 { get; set; } } 如何将TsObj.S1绑定到TB1.Text,并将TsObj.S2绑定到TB2.Text,而代
<UserControl>
<TextBox Name="TB1"/>
<TextBox Name="TB2"/>
</UserControl>
在哪里
public class TwoStrings
{
string S1 { get; set; }
string S2 { get; set; }
}
如何将TsObj.S1绑定到TB1.Text,并将TsObj.S2绑定到TB2.Text,而代码更改最少?不应更改两个字符串。对象上的更新应反映在控件上。请提供代码示例。关于互联网上的wpf/silverlight数据绑定,甚至在stackoverflow中也有大量的资源。但长话短说,你可以简单地做到:
公共部分类MyControl:UserControl
{
公共TwoString TsObj{get;set;}
公共MyControl()
{
初始化组件();
this.DataContext=TsObj=newtwostrings();
}
}
EDIT:请注意,如果您通过TwoString实例中的代码更改属性,这将不会反映在文本框中,因为您需要在TwoString(MVVM模式中的ViewModel-VM)中实现
INotifyPropertyChanged
接口以获得双向数据绑定。否则,您将只获得从文本框到datacontext(TwoString)属性的单向数据绑定。我能想到的所有其他方法都更加复杂。INotifyPropertyChanged应在何处实施?
public class TwoStrings
{
string S1 { get; set; }
string S2 { get; set; }
}