3
我遇到了一個問題,在ListView的ItemTemplate中獲取綁定工作。我的綁定目標是一個KeyValuePair。下面的代碼:在ItemVemplate中綁定KeyValuePair不起作用
XAML:
<ListView x:Name="listViewDataItems" CanDragItems="True" DragItemsStarting="event" SelectionMode="Multiple">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Key}"/>
<TextBlock Text=":"/>
<TextBlock Text="{Binding Path=Value}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
C#:
protected override void OnNavigatedTo(NavigationEventArgs e) {
if (e.Parameter != null) {
IDataSourceExtension extension = (IDataSourceExtension)e.Parameter;
pageTitle.Text = extension.Name;
// Type of LastData: List<KeyValuePair<string,object>>
listViewDataItems.ItemsSource = extension.LastData;
}
}
的的ItemsSource設定罰款,幷包含KeyValuePairs,但顯示在ListView鍵和值是行不通的。我在metro風格的應用程序下工作.Net4.5 Beta。
我嘗試了兩種,但它沒有使它工作。 List的Setter已經調用了PropertyChanged(),ObservableCollection並沒有幫助。逐一設置項目也無濟於事。我修改了我的代碼並編輯了你的集合LvItems而不是LastData,它也沒有顯示出來。 – 2012-03-21 13:32:43
您是否正確設置了DataContext?我發佈的例子與您的確切XAML一起在我的電腦上發佈。 – 2012-03-21 13:35:15
我這麼認爲,我添加到我的xaml ListView代碼'ItemsSoruce = {Binding}'並在c#中設置''listViewData.DataContext = extension.LastData;'。仍然顯示正確數量的項目,但只有':'不是'鍵:值'。你用.net4.5 beta測試過嗎? – 2012-03-21 13:51:07