단추를 눌렀을 때 선택란을 선택했는지에 따라 목록 상자에 표시 할 간단한 문자열 목록이 있습니다. 내 버튼 리스너에이 논리를 가지고 :목록 상자의 항목이 잘못 업데이트 됨 WPF
private void fileSavePerms_Click(object sender, RoutedEventArgs e)
{
foreach (CheckBox checkbox in checkboxList)
{
if (checkbox.IsChecked == true && !permissionList.Contains(checkbox.Name))
{
permissionList.Add(checkbox.Name);
}
else if (checkbox.IsChecked == false && permissionList.Contains(checkbox.Name))
{
permissionList.Remove(checkbox.Name);
}
}
permListBox.ItemsSource = permissionList;
}
는 지금까지 내가 아는 한, 이것은 당신이 버튼 클릭에 대한 매우 간단한 데이터 바인딩을 할 수있는 방법이다. 그러나 의도적으로 처음으로 목록 상자가 업데이트되지만 상자를 채우려는 목록의 잘못된 내용으로 업데이트됩니다. 나는 출력과 식별 할 수있는 패턴을 볼 수 없다.
게다가 잠시 (몇 번의 버튼 클릭) 후에 "an ItemsControl is inconsistent with its items source
"이라는 예외가 발생합니다.
내 바인딩을 잘못 설정했거나 올바르지 않은 시간에 ItemsControl
을 할당하고 있습니까?
는 업데이트 : 목록 상자
XAML : 모든
<ListBox x:Name="permListBox" ItemsSource="{Binding permissionList}" HorizontalAlignment="Left" Height="36" Margin="28,512,0,0" VerticalAlignment="Top" Width="442"/>
이 목록 상자에 해당하는 XAML도 공유 할 수 있습니까? –
@DaveS 목록 상자에 대한 XAML을 추가했습니다. 감사합니다. – James