簡體   English   中英

CollectionViewSource綁定在刪除或添加項目時不更新

[英]CollectionViewSource Binding not updating when removing or adding item

綁定到列表時我的組合框更新有問題。 我進行更改時,所有其他控件都會正確更新。 我正在嘗試從按鈕中刪除下拉列表中的項目。

<CollectionViewSource Source="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=statusList}" x:Key="statusList"/>

<ComboBox.ItemTemplate>
    <DataTemplate>
        <CheckBox Tag="{Binding ID}" Content="{Binding Name}" Foreground="White" Margin="10,0,0,0" Checked="Filter_Checked" Unchecked="Filter_Checked" IsChecked="{Binding ElementName=Filter21Days, Path=IsChecked, Mode=OneWay}"></CheckBox>
    </DataTemplate>
</ComboBox.ItemTemplate>
<ComboBox.ItemsSource>
<CompositeCollection>
    <ComboBoxItem Content="Filter" Visibility="Collapsed" IsEnabled="False"/>
    <ComboBoxItem>
        <CheckBox x:Name="ViewAllFilter" Content="View All" Foreground="White" Margin="10,0,0,0" Checked="Filter_Checked" Unchecked="Filter_Checked" IsChecked="False"></CheckBox>
    </ComboBoxItem>
    <ComboBoxItem>
        <CheckBox x:Name="Filter21Days" Content="Last 21 Days" Foreground="White" Margin="10,0,0,0" Checked="Filter_Checked" Unchecked="Filter_Checked" ></CheckBox>
    </ComboBoxItem>
    <ComboBoxItem>
        <CheckBox x:Name="FilterBydate" Content="By Date" Foreground="White" Margin="10,0,0,0" Checked="Filter_Checked" Unchecked="Filter_Checked" Visibility="Collapsed"></CheckBox>
    </ComboBoxItem>
    <ComboBoxItem>
        <Separator Background="White" Width="110" Height="1"></Separator>
    </ComboBoxItem>
    <CollectionContainer Collection="{Binding Source={StaticResource statusList}}"/>

</CompositeCollection>
</ComboBox.ItemsSource>

ObservableCollection<Status> _statusList = new ObservableCollection<Status>();
public ObservableCollection<Status> statusList
    {
        get { return _statusList; }
        set { _statusList = value; }
    }

問題在於我操縱statusList的方式。 我有statusList =另一個列表,它沒有觸發屬性更改。 使用下面的for循環來解決它。

statusList.Clear();
for (int i = 0; i < statusWindow.statusList.Count; i++)
{
    statusList.Add(statusWindow.statusList[i]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM