【发布时间】:2011-09-26 14:46:03
【问题描述】:
我正在构建一个简单的 windows phone 7 Page。我正在做 MVVM(使用 MVVM 灯)并将List<Category> 类型属性绑定到ListPicker。此属性在名为 AddExpenseViewModel 的视图模型中定义,如下所示
public class AddExpenseViewModel:ViewModelBase
{
public List<Category> Categories
{
get { return categories; }
set
{
categories = value;
RaisePropertyChanged("Categories");
}
}
}
Category 类定义为
public class Category
{
public string Name { get; set; }
}
在我的 XAML 中,我首先将资源定义为
<UserControl.Resources>
<bs:ViewModelLocator x:Key="ViewModelLocator" />
</UserControl.Resources>
然后将包含ListPicker的网格的DataContext设置为
<Grid x:Name="ContentPanel"
Grid.Row="1"
Margin="13,1,11,-1"
DataContext="{Binding Path=AddExpenseViewModel,
Source={StaticResource ViewModelLocator}}">
这是我的 ListPicker 的 XAML
<toolkit:ListPicker
HorizontalAlignment="Left"
Height="50"
Width="200"
Grid.Row="2"
Grid.Column="1"
DataContext="{Binding AddExpenseViewModel}"
ItemsSource="{Binding Path=Categories, Mode=OneWay}" >
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Border Background="LightGreen" Width="*" Height="*">
<TextBlock Text="{Binding Name}"></TextBlock>
</Border>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
</toolkit:ListPicker>`
这不起作用。 ListPicker 始终为空。我在这里做错了吗?
【问题讨论】:
标签: windows-phone-7 mvvm mvvm-light listpicker