WPF简单绑定到对象属性

时间:2009-09-22 19:53:28

标签: wpf xaml binding

我在wpf / xaml中遇到绑定问题。有这个简单的文件:

<Window x:Class="test.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <TextBlock Height="21" Foreground="Black" Margin="74,98,84,0" Name="textBlock1" VerticalAlignment="Top" Text="{Binding MyText}" />
    </Grid>
</Window>

我想将textblock的内容绑定到我的属性“MyText”。我的代码如下所示:

 public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        public string MyText
        {
            get { return "This is a test"; }
        }
    }

总而言之,非常简单,但是当我启动文本块时没有内容 - 怎么样?

3 个答案:

答案 0 :(得分:4)

您需要在绑定中使用元素名称:

<Window ... x:Name="ThisWindow"...>

        <TextBlock ... Text="{Binding MyText, ElementName=ThisWindow}" />

答案 1 :(得分:0)

如果我正确记住我的WPF绑定语法,我相信你的绑定表达式应该是Text =“{Binding Path = MyText}”

答案 2 :(得分:-1)

有很多方法可以实现这一目标。对于像这种形式一样简单的事情,最简单的可能就是:

public Window1()
{
    InitializeComponent();
    this.DataContext = this;
}