WPF-将对象属性绑定到xaml中进行控制

时间:2012-09-04 04:42:34

标签: wpf xaml-binding

我已在下面明确说明了我的问题。

提前谢谢你 - >

我有一个公共课:

public class class1
{
 int iVal;
 public int IVal
 {
  get { return iVal; }
  set { iVal=value;  }
 }
}

我将在mainWindow.cs中创建一个class1类型的对象。

class1 ob = new class1();

在mainWindow.xaml文件中,我有TextBlock

我的问题是如何使用XAML绑定将ob.IVal值绑定到TextBlock

<TextBlock Text="{Binding IVal, Mode=OneWay}"/>   
// this binding is not working for me.

2 个答案:

答案 0 :(得分:1)

看起来您只需要为XAML树设置DataContext即可。在mainWindow.cs中,写如下:

public partial class MainWindow : Window
{
    public class1 ob { get; set; }

    public MainWindow()
    {
        ob = new class1();
        InitializeComponent();
        this.DataContext = ob;
    }
}

然后绑定到IVal应该有效。

答案 1 :(得分:1)

可能你错过了设置DataContext属性 - 正如dbasemen建议的那样 - 但仍然不够。

您将绑定模式设置为OneWay,这意味着通信从源到目标:Class1.IVal -> TextBlock.Text在这种情况下。

但您必须发送有关IVal属性更改的通知,这意味着您必须实现INotifyPropertyChanged事件处理程序并在设置IVal prop时引发Propertychanged事件。

您会发现here该怎么做。