DataTable에 바인딩 된 ComboBox가 있습니다. 추가 ComboBoxItem을 목록 상단에 추가하려고합니다. 목록을 사용자 정의 할 수있는 링크를 넣을 수 있습니다. 현재 저는 DataTable 상단에 더미 행을 삽입하고 ComboBox에서 DataTrigger를 사용하여 올바르게 표시합니다. 그러나 나는 정확한 결과를 얻지 못하고있다.데이터 바인딩 문제가있는 WPF ComboBoxItem
두 가지 방법을 시도했습니다. 처음에는 DataTrigger가 더미 항목을 TextBlock이 포함 된 ControlTemplate으로 바꿉니다.
<ComboBox IsEditable="True" Name="comboWell" ItemsSource="{Binding}" DisplayMemberPath="wellId">
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding wellId}" Value="(settings)">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBoxItem">
<TextBlock Text="Customize..." />
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
결과가 제대로 표시되지만 해당 항목에 마우스 오버 강조 표시가 없습니다. 목록의 나머지 부분은 정상적으로 작동하지만 그 위에 마우스를 올리면 한 항목이 전혀 반응하지 않습니다. 추가 트리거 및 스타일을 추가하여 마우스 오버 효과를 적용 해 보았지만 아무 변화가 없습니다.
내가 시도한 두 번째 방법은 항목을 ControlTemplate으로 완전히 바꾸지 않고 항목의 모양을 변경하는 것이 었습니다.
<ComboBox IsEditable="True" Name="comboWell" ItemsSource="{Binding}" DisplayMemberPath="wellId">
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding wellId}" Value="(settings)">
<Setter Property="Content" Value="Customize..." />
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
이 기능은 일반 목록 항목과 유사하게 작동합니다. 그러나 항목이 비어 있습니다. 원본 텍스트 나 DataTrigger에서 설정하려고 시도하는 텍스트가 없습니다. 오류가없고 빈 목록 항목 만 있습니다.
더 좋은 방법이 있나요?
그건 속임수 였어! 고마워요! – Nairou