itemsControl에 바인딩하는 목록이 있습니다. 첫 번째 항목은 isChecked 부분이 아니라 잘 바인딩됩니다. 여기 WPF에서 IsChecked가 제대로 바인딩되지 않았습니다.
코드입니다 IsLinked 오히려 일을 ... 또는하지 않습니다 위의 XAML<CheckBox CommandParameter="{Binding TId}" Content="{Binding TName}" IsChecked="{Binding IsLinked}" />
에서 부울
private bool IsLinked(int Id)
{
return (AnotherList.Any(x=>x.id==Id));
}
을 반환하는 함수입니다
var LstTemplates = Templates.Select(x=>new {TName=x.TemplateName,TId = x.Id, IsLinked = IsLinked(x.Id)});
itemsControlTemplates.ItemsSource = LstTemplates;
, 앱은 얼버무 리면서 완전히 관련없는 코드를 중단시킵니다.
그러나 내가 가지고가는 경우에 동일한 "{IsLinked 바인딩}"와 메시지 박스에 또는 체크 박스의 내용은 다음 보여줍니다 출력이 ...
을내가 잘못 않았다 ?
업데이트 : 좋아, 코드가 관련이없는 코드에서 중단되었다고 말하는 부분을 무시하십시오. 오해의 소지가 있습니다.
<ItemsControl Name="itemsControlTemplates" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="2">
<CheckBox CommandParameter="{Binding TId}" Content="{Binding TName}" IsChecked="{Binding IsLinked}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
콘텐츠에 'IsLinked'를 출력하면 표시됩니다. 'IsChecked'에 바인딩하려면 어떻게해야합니까?
'또는 오히려보십시오, 여기에 전혀 관련이없는 code' 충분하지 않은 정보에 대한 응용 프로그램 동결 및 휴식 대답합니다. 이것은 정확하게, 그리고 오직, 이것이 도움이 될 수있는 프로토 타입을 작성하는 곳입니다. – Will