2017-05-17 3 views
-1

내가 집결지 콤보 상자의 값을 다음하기 나는이 _newCourseWeekday를 사용하려고하면,이 <code>ComboBox</code>을

public String NewCourseWeekday 
{ 
    get { return _newCourseWeekday; } 
    set 
    { 
     _newCourseWeekday = value; 
     OnPropertyChanged(); 
    } 
} 

을, 그것은 '아무튼 평일을 포함하지만, System.Windows.Controls.ComboBoxItem: Monday과 같은 것을 포함합니다. 문자열 만 선택하려면 어떻게해야합니까?

+0

세터에서는 무엇을 의미합니까? 나는 그것을 컴파일 할 수 없다. 텍스트 같은 변수는 없다. –

+0

'SelectedValuePath = "Content"를 ComboBox 요소에 추가 해보십시오. 그게 작동한다면, 어쨌든 대신 mm8의 대답을 사용하십시오. WPF에서 작업하는 방법을 더 잘 보여줍니다. –

+0

모드 = TwoWay가 ComboBox.SelectedValue에서 바인딩의 기본값이므로이를 말할 필요가 없습니다. –

답변

1

선택한 값을 ComboBoxItem 자체가 아닌 항목의 실제 내용으로 지정하면 예상 한대로 문자열을 가져올 수 있습니다. 이를 위해 SelectedValuePath 속성을 사용하고 Content으로 설정합니다.

<ComboBox Margin="5" SelectedValuePath="Content" SelectedValue="{Binding NewCourseWeekday}" Grid.Row="5" Grid.Column="1"> 
    <ComboBoxItem>Monday</ComboBoxItem> 
    <ComboBoxItem>Tuesday</ComboBoxItem> 
    <ComboBoxItem>Wednesday</ComboBoxItem> 
    <ComboBoxItem>Thursday</ComboBoxItem> 
    <ComboBoxItem>Friday</ComboBoxItem> 
</ComboBox> 
-1

당신은 SelectedValue에의 selectedItem에하지 NewCourseWeekday을 바인드 할 필요가

당신은 ComboBoxstring 개체를 추가하고 NewCourseWeekday 소스 속성의 SelectedItem 속성을 결합해야
+0

그건 도움이되지 못했습니다. –

2

:

<ComboBox Margin="5" SelectedItem="{Binding NewCourseWeekday, Mode=TwoWay}" Grid.Row="5" Grid.Column="1" 
      xmlns:s="clr-namespace:System;assembly=mscorlib"> 
    <s:String>Monday</s:String> 
    <s:String>Tuesday</s:String> 
    <s:String>Wednesday</s:String> 
    <s:String>Thursday</s:String> 
    <s:String>Friday</s:String> 
</ComboBox> 

string 특성 ComboBoxItem 값으로 설정할 수 없습니다.

+0

알았어, 이미 코멘트를 삭제했다 : D –

관련 문제