在silverlight中将文本框的DataContext设置为当前类

在silverlight中将文本框的DataContext设置为当前类,silverlight,silverlight-3.0,silverlight-4.0,datacontext,bindingsource,Silverlight,Silverlight 3.0,Silverlight 4.0,Datacontext,Bindingsource,我在用户控件中有一个文本框, 我在UserControl中创建了一个属性, 我想将textbox文本属性绑定到usercontrol中创建的属性 问题是我不知道如何在XAML中将datacontext指定给当前类 有什么想法吗??谢谢这将使您在文本框中输入的内容进入codebehind中的属性。根据项目的大小,我会考虑MVVM将代码推到ViewModel,然后在UserControl,您将指定Time.DATACONTRONT=视图模型的实例。< /P> Xaml: 我将在代码中创建绑定。假设您

我在用户控件中有一个文本框, 我在UserControl中创建了一个属性, 我想将textbox文本属性绑定到usercontrol中创建的属性

问题是我不知道如何在XAML中将datacontext指定给当前类


有什么想法吗??谢谢

这将使您在文本框中输入的内容进入codebehind中的属性。根据项目的大小,我会考虑MVVM将代码推到ViewModel,然后在UserControl,您将指定Time.DATACONTRONT=视图模型的实例。< /P> Xaml:


我将在代码中创建绑定。假设您的文本框中有
x:Name=“MyTextBox”
,也假设您在用户控件上添加了一个在
MyText
上调用的依赖属性(或者至少是一个带有
inotifPropertyChanged
实现的标准属性)

  public partial class MainPage : UserControl
  {
   public MainPage ()
   {
     InitializeComponent();
     Binding binding = new Binding("MyText");
     binding.Mode = BindingMode.TwoWay;
     binding.Source = this;
     MyText.SetBinding(TextBox.TextProperty, binding);
   }
 }
这使得UserControl的
DataContext
属性为其他更典型的用途打开

 public partial class MainPage : UserControl
 {
    public string Foo { get; set; }

    public MainPage ()
    {
      InitializeComponent();
      this.DataContext = this;
    }
 }
  public partial class MainPage : UserControl
  {
   public MainPage ()
   {
     InitializeComponent();
     Binding binding = new Binding("MyText");
     binding.Mode = BindingMode.TwoWay;
     binding.Source = this;
     MyText.SetBinding(TextBox.TextProperty, binding);
   }
 }