2012-12-25 88 views
0

結合我創建一個ObersvableCollection,並宣佈它公衆對我的APP.XAML.CS的TextBlock從一個ObservableCollection在WP7

在一個XAML頁面我插入TextBlock並想結合我的ObservableCollection

屬性

我做了這個:

<StackPanel Grid.Row="0" Margin="12,17,0,28" > 
     <TextBlock Text="{Binding Path=App.glb_ObservableListTiers.m_strNom}" Style="{StaticResource PhoneTextNormalStyle}"/> 
    </StackPanel> 

最後,我沒有看到任何的文字!綁定似乎是錯的!

請問這是怎麼回事?

回答

0

雖然您的ObservableCollection是公開的,但您的App對象應該可以訪問當前的XAML頁面。這可以通過在xaml.cs文件中創建App類的實例並將DataContext設置爲它來實現。看來,你完全錯了。

爲了讓您更好地理解,按照這個樣本

在App.xaml.cs

public string m_strNom { get; set;} 

創建一個字符串增加一些價值這個在App()構造

m_strNom = "Its working"; 

更改您的數據綁定至此

<TextBlock Text="{Binding Path=m_strNom}" Style="{StaticResource PhoneTextNormalStyle}"/> 

最後設置的DataContext的頁面或的ContentPanel

this.DataContext = (App.Current as App); //This is not best .. just to show you how Databinding works 

的,如果你要綁定到可觀察到的聚集,然後更好地考慮的DataTemplate一個列表框的XAML,而不是一個簡單的TextBlock的

+0

謝謝很多,它是完美的! –

相關問題