У меня есть простые элементы флажка, и когда элементы выбраны, он отлично работает. Я положил button
в unselectвсе выбранные товары. В режиме отладки я вижу, что выбранное состояние установлено на unchecked (false), хотя оно не отражено в пользовательском интерфейсе. Вот код:Настройка флажка выделены в False в пользовательском интерфейсе - C# WPF
XAML для Listbox-Checkbox:
<ListBox x:Name="Listitems" Grid.Column="0" SelectionMode="Multiple" ItemsSource="{Binding MonthlyResults}" >
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding logdate}" IsChecked="{Binding Checked ,Mode=TwoWay}" Click="CheckBox_Click"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
XAML для кнопки UncheckALL: за
<Button Grid.Row="0" Name="ClearALL" Margin="4,10,4,75" Content="Unselect All" FontFamily="Tahoma" FontSize="12" Click="Button_Click"/>
Код:
private void CheckBox_Click(object sender, RoutedEventArgs e)
{
var cb = sender as CheckBox;
var item = cb.DataContext;
Listitems.SelectedItem = item;
HornerPlotPluginModel model = DataContext as HornerPlotPluginModel;
var checkedItems1 = model.MonthlyResults.Where(B => B.Checked == true);
//monthlyresults is the observable collection that populates the checkbox items
model.CDFResults.Clear(); // some function
Chart1.Series.Clear();
Chart1.Axes.Clear();
model.DisplayLogs(); // some function
DrawCurves(); // some function
}
код позади для Unchec Кнопка калл:
private void Button_Click(object sender, RoutedEventArgs e)
{
HornerPlotPluginModel model = DataContext as HornerPlotPluginModel;
var checkedItems1 = model.MonthlyResults.Where(B => B.Checked == true);
Listitems.SelectedItems.Clear(); //SET CHECKED ITEMS TO FALSE!!!
model.CDFResults.Clear();
Chart1.Series.Clear();
}
я смотрю на аналогичной должности здесь: WPF UserControl property change not updating , но он пошел над моей головой!
Он очищает наблюдаемую коллекцию, но не обновляет пользовательский интерфейс. Я попробовал то же самое раньше. – user7157732
Вы используете UpdateSourceTrigger = "PropertyChanged"? –