2011-06-03 52 views
1

我是新來的silverlight。我在網上發現了一些關於數據綁定的文章。我可以看到如下爲什麼在Silverlight數據綁定中使用Path?

<TextBlock Text="{Binding Name}"/> 
<TextBlock Text="{Binding Path=Name}"/> 
<TextBlock Text="{Binding Path=Account}"/> 
<TextBlock Text="{Binding Path=Property1.Property2.Property3}"/> 

在第一個文本塊與屬性名稱進行綁定,綁定以不同的方式進行。在第二個示例中,還使用屬性名稱執行綁定。那麼第二個文本塊中的Path有什麼不同?我知道如何爲前三個文本塊進行綁定,但我不知道如何對第四個文本塊進行綁定?並且當我們使用以下類型

<TextBlock Text="{Binding Path=Property1.Property2.Property3}"/> 

能否請你給我用的編碼以及解釋上述所有的東西例如結合?如果我誤解了某些內容,請引導我。

回答

3

通過下面的結合:

<TextBlock Text="{Binding Path=Property1.Property2.Property3}"/> 

你說,TextBlock的數據上下文有一個名爲Property1屬性,它返回一個名爲Property2屬性,又具有對象財產名爲Property3。由Property3返回的值將顯示在TextBox中。

例如,如果你的類這個樣子,爲TextBox的數據上下文是的Foo一個實例,你會看到「Hello World」顯示:

public class Foo 
{ 
    public Foo1 Property1 { get; set; } 
} 

public class Foo1 
{ 
    public Foo2 Property2 { get; set; } 
} 

public class Foo2 
{ 
    public string Property3 { get { return "Hello World"; } } 
} 

的「.」語法只是讓你引用一個對象的「子屬性」。欲瞭解更多信息,請看這MSDN article

0

您的問題中的第一個和第二個TextBlock沒有區別。

Path是獲取設置的Binding對象的'default'屬性。

相關問題