我正在構建一個簡單的windown電話7頁。我正在做MVVM(使用MVVM光源)並將List<Category>
類型屬性綁定到ListPicker
。這家酒店是在一個名爲AddExpenseViewModel
像一個視圖模型定義如下ListPicker不適用於MVVM Light
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
<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>`
這不起作用XAML。 ListPicker
總是空的。我在這裏做錯了什麼?
我看到輸出窗口中的綁定錯誤,但這並沒有什麼幫助。如果我刪除了ListPicker的DataContext,那麼我得到一個類型爲MS.Internal.WrappedException並帶有「0x8000ffff」作爲消息的異常。我正在更新有關更多詳細信息的問題。 – Suhas
你可以發佈你在綁定窗口中看到的消息嗎?它通常解釋什麼是財產失敗和如何。 – jonathanpeppers
我的問題已修復。我已經更新了這個問題的詳細信息 – Suhas