我创建了一个ObersvableCollection
并在我的APP.XAML.CS
在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 :(得分: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
如果你想绑定到一个Observable collectin,那么最好考虑一个带有DataTemplate的ListBox用于XAML而不是一个纯文本块