2

我可以綁定到ItemSource沒有問題。listview binding selectedItems

我無法做的是帶回SelectedItems並讓它們顯示在listView中。

我希望能夠讓listView顯示檢查的項目,如果它在assignedChores集合中找到。我做錯了什麼?

<ListView x:Name="choreList" BorderBrush="White" BorderThickness="1"  
Margin="401,322,613,150" Grid.Row="1" DisplayMemberPath="Summary"  
ItemsSource="{Binding choreList, Mode=OneWay}"  
SelectedItem = "{Binding personSingle.assignedChores, Mode=TwoWay}"  
SelectionMode="Multiple" SelectionChanged="choreList_SelectionChanged"/> 
+0

是'personSingle.assignedChores'列表或對象嗎? – Xyroid

+0

no是列表 webdad3

回答

4

ListView具有SelectedItems財產是IList<T>類型,但它只是讀過,所以不能將其綁定。 SelectedItem可以綁定到object而不是List<T>

您只有選項,您需要將ListViewItemIsSelected屬性與ViewModel的屬性綁定。

public class MyListView : ListView 
{ 
    protected override void PrepareContainerForItemOverride(Windows.UI.Xaml.DependencyObject element, object item) 
    { 
     base.PrepareContainerForItemOverride(element, item); 
     ListViewItem listItem = element as ListViewItem;   
     Binding binding = new Binding(); 
     binding.Mode = BindingMode.TwoWay; 
     binding.Source = item; 
     binding.Path = new PropertyPath("IsSelectedFromViewModel"); 
     listItem.SetBinding(ListViewItem.IsSelectedProperty, binding); 
    } 
} 
+0

是否有另一個控件可以綁定列表而不必滾動自己的列表? – webdad3

+0

不,這不是因爲所有的視圖控件都是從ListViewbase類派生的。 – Xyroid

+0

所以每個想要將列表綁定到列表視圖的人都必須自己推出?似乎MSFT應該將該功能添加到控件否?哦,我會按照你的建議推出我自己的產品,並看看它會發生什麼。 – webdad3