반응형
목록에 없는 값에 바인딩된 편집 가능한 ComboBox
편집 가능한 콤보 상자가 있는데, 여기서 기본 설정 항목이 항상 드롭다운 목록에 있는 것은 아닙니다.
텍스트 상자에 텍스트를 수동으로 입력하여 SelectedValue에 바인딩된 문자열로 전달할 수 있으면 좋겠습니다.
현재 SelectedValue에 바인딩된 문자열은 입력한 값이 ComboBox 항목 중 하나에 있는 경우에만 업데이트됩니다.
ComboBox 목록에서 사용할 수 없는 사용자 지정 값을 수동으로 입력하고 바인딩된 값으로 올바르게 전파하려면 어떻게 해야 합니까?
어제와 오늘 이 작업을 수행했는데 다음과 같습니다.
콤보 상자 설정
IsEditable="true"
에 구속하는 대신에
SelectedItem
에 묶다.Text
콤보 상자의 속성문자열 대신 사용자 지정 개체에 바인딩하는 경우 설정해야 합니다.
TextSearch.TextPath="NameOfField"
이렇게 하면 텍스트 검색 동작이 작동하고 텍스트 상자에도 이 속성이 표시됩니다.
결국 저는 다음과 같은 결과를 얻었습니다.
<ComboBox x:Name="c"
IsEditable="True"
IsTextSearchEnabled="True"
IsTextSearchCaseSensitive="False"
StaysOpenOnEdit="True"
Text="{Binding NameOnViewModel}"
TextSearch.TextPath="NameOnChildItems"
ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource DataTemplate}" />
<TextBlock Text="{Binding ElementName=c,Path=Text}" />
결합을 콤보의 텍스트 속성으로 설정하는 것으로도 충분합니다.
<ComboBox
IsTextSearchEnabled="True"
IsEditable="True"
ItemsSource="{Binding Items}"
Text="{Binding SelectedItemText, Mode=TwoWay}" />
언급URL : https://stackoverflow.com/questions/3743269/editable-combobox-with-binding-to-value-not-in-list
반응형
'sourcecode' 카테고리의 다른 글
WPF 데이터 템플릿이 목록 상자의 전체 너비를 채우도록 하려면 어떻게 해야 합니까? (0) | 2023.05.03 |
---|---|
vba에서 문자열에 큰따옴표를 넣으려면 어떻게 해야 합니까? (0) | 2023.04.28 |
단일 명령으로 Excel 셀의 내용 및 형식 지우기 (0) | 2023.04.28 |
VBA에서 Excel 파일 이름/경로를 가져오는 방법 (0) | 2023.04.28 |
C# - Excel의 모든 행을 반복하는 방법._워크시트? (0) | 2023.04.28 |