设置为DataContext未在Listbox中反映

时间:2011-03-18 07:36:54

标签: c# silverlight windows-phone-7

我有一个ViewModel,我正在将它的实例设置为DataContext.In xaml我已将Listbox itemsource绑定到ViewModel.But中的可观察集合。当我运行程序时,listbox中没有任何内容。可能是原因。

我的ViewModel类:

public class ViewModel 
    { 
        public ObservableCollection<Data> _collectionData = new ObservableCollection<Data>(); 
        ----- 
        ----- 
     } 

的Xaml:

ListBox Name="myListBox" Margin="8,113,8,8" ItemsSource="{Binding _collectionData}"> 
                <ListBox.ItemTemplate> 
                    <DataTemplate> 
                        <StackPanel Orientation="Horizontal"   > 
                            <Border BorderThickness="3" BorderBrush="#A5FFFFFF" Width="80" Margin="0,20,0,20" Height="60"> 
                                <Image Source="{Binding ImageUrl, Mode=OneWay}"  VerticalAlignment="Stretch" Margin="0,0,0,0" Width="80" Height="60" Stretch="Fill" /> 
                            </Border> 
                            <TextBlock TextWrapping="Wrap" Text="{Binding Title}" FontSize="40" FontWeight="Normal" VerticalAlignment="Center" Margin="30,0,0,0" /> 
                        </StackPanel> 
                    </DataTemplate> 
                </ListBox.ItemTemplate> 
              </ListBox> 

主页的构造函数:

ViewModel vm = new ViewModel(); 
this.DataContext = vm; 

但是当我给myListBox.ItemsSource = vm._collectionSplashData;它有效时。可能是什么原因?

2 个答案:

答案 0 :(得分:0)

创建属性而不是字段

请参阅Binding Sources Overview

答案 1 :(得分:-1)

不需要同时应用ItemsSource和Datacontext。