Windows phone 7 为什么数据绑定源需要显式getter?

Windows phone 7 为什么数据绑定源需要显式getter?,windows-phone-7,data-binding,Windows Phone 7,Data Binding,如果我不向字符串属性添加显式访问器,那么数据绑定就不起作用。为什么呢? 下面是一个简单的示例,其中文本框连接到字符串属性 MainPage.xaml: <Grid Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <TextBlock Text="{Binding Message} /> </Grid> 此操作无效,文本框为空 但是,添加属性访问器 public String Message {

如果我不向字符串属性添加显式访问器,那么数据绑定就不起作用。为什么呢? 下面是一个简单的示例,其中文本框连接到字符串属性

MainPage.xaml:

<Grid Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <TextBlock Text="{Binding Message} />
</Grid>
此操作无效,文本框为空

但是,添加属性访问器

public String Message { get; set; };
现在它开始工作了

我看不出有什么解释。有人能解释一下吗?属性没有隐式set/get访问器吗?即便如此,为什么数据绑定不能访问属性呢


谢谢,

编译器之所以生成这些隐式访问器,是因为
{get;set;}
。如果不考虑这一点,则根本不是创建属性,而是创建一个简单字段


我不太喜欢XAML,所以我不能肯定,但可能它不支持绑定到普通字段。

编译器生成这些隐式访问器的原因是
{get;set;}
。如果不考虑这一点,则根本不是创建属性,而是创建一个简单字段


我不太喜欢XAML,所以我不能肯定,但也许它不支持绑定到普通字段。

公共字符串消息是一个字段,而不是属性。

数据绑定仅适用于属性。

公共字符串消息是一个字段,而不是属性。
public String Message;
数据绑定仅适用于属性

public String Message;
这是一个字段,不是属性。添加getter和setter将创建自动属性。 只能将属性绑定到

这是一个字段,不是属性。添加getter和setter将创建自动属性。
只有属性可以绑定。

@Slaks、@devdigital和@Matti_Virkkunen:你们都有相同的答案,但结果都不完全正确。。你们都为我澄清了田地和地产之间的区别——我没有意识到这一点。这让我找到了正确的答案:绑定仅在涉及路径时才与属性一起工作,否则它可以直接访问字段。例如:上面是
DataContext=Message那么
就行了!因此,使用路径需要访问器@Slaks、@devdigital和@Matti_Virkkunen:你们都有相同的答案,但结果都不完全正确。。你们都为我澄清了田地和地产之间的区别——我没有意识到这一点。这让我找到了正确的答案:绑定仅在涉及路径时才与属性一起工作,否则它可以直接访问字段。例如:上面是
DataContext=Message那么
就行了!因此,使用路径需要访问器。