기본적으로, 색상의 목록과 목록 상자 항목에 대한 정의 DataTemplate이 있습니다다시 적용 템플릿은 프로그래밍 방식
이제<DataTemplate x:Key="colorItemDataTemplate">
<Border x:Name="borderInner" BorderBrush="Black" BorderThickness="1" Background="{Binding Brush}" Width="11" Height="11" />
</DataTemplate>
, 내가 목록 상자에 항목의 무리를 추가 한 다음 목록 상자를 설정할 때. ItemsSource 속성을 내 목록에 추가하면 목록 상자가 올바르게 채워집니다.
적절한 이벤트 처리기가있는 슬라이더도 있습니다. 이벤트 핸들러 내에서 목록 상자의 항목 중 하나의 Brush 속성이 변경됩니다. 항목의 모양은 브러시 속성에 따라 다르므로 목록 상자에 변경 사항이 반영되어야합니다.
ItemsSource 속성을 재설정 할 수 있지만 모든 항목의 템플릿이 적용되어 있고 목록 상자에 200 개가 넘는 항목이있는 경우 매우 느립니다.
그래서 목록 상자에서 하나의 항목에 대해서만 템플릿을 새로 고치는 방법이 있습니까?
탄원
덕분에,이 일했습니다. INotifyPropertyChanged를 구현하고 원하는대로 작동합니다. –