2010-06-12 53 views
0

我有一個問題獲取數據,我在DataContext的一些數據,我想我怎麼能achive它如何從DataContext的

在此先感謝 沙善

button1.DataContext = new DataView(tablename, "field1 in (" + stringbuilder.ToString() + "0)", "field1", DataViewRowState.CurrentRows); 

回答

1

DataContext是一個特殊字段,它通過設置元素及其所有子元素的默認綁定目標來工作。因此,例如,您可以通過只指定像這樣的路徑綁定到你的DataContext的子屬性:

<StackPanel DataContext="{DynamicResource selectedBook}"> 
    <TextBlock Text="{Binding Path=Title}" /> 
    <TextBlock Text="{Binding Path=Author}" /> 
</StackPanel> 

當然,從代碼中獲得DataContext的,只是訪問DataContext屬性,並將其轉換爲任何類型您需要:

MyClass context = (MyClass)this.DataContext; 
.... 
+0

也許更安全的使用'as'關鍵字和檢查空,除非你是絕對的確定它是什麼。 – devios1 2010-06-14 15:04:42

0

獲取這個數據你想如何訪問它?從xaml或代碼? 還是你使用類似mvvm的aproach?

從代碼確定,它正如有人指出的面前:

if(button1.DataContext is DataView) 
{ 
    DataView view = (DataView)button1.DataContext; 

    //do what you want with your DataView here 
} 
+0

我想獲取從代碼 – Shashank 2010-06-13 06:03:48

+0

我想茜情況下,我會使用語法數據.. – SwissCoder 2010-06-16 10:13:21

0

誰不首先將其分配到DataContext之前獲取數據。

相關問題