2014-07-24 5 views
0

내가 Combobox 다음이 표시되지 않습니다 : 나는 그것이 Combobox 안에 표시되지 않은 Item을 선택하면콤보 상자의 selectedItem가

<ComboBox Name="cb_Zeitraum" Grid.Column="2" Grid.Row="0" ItemsSource="{Binding Zeitraum}" IsEnabled="{Binding TimespanAvailable}" SelectedItem="{Binding Zeit}" SelectedIndex="0" Style="{StaticResource requiredFieldValidationStyle}" HorizontalAlignment="Left" Width="26"/> 

내 문제는, 그냥 빈 유지됩니다. 그러나 Item이 선택되며 표시되지 않습니다. 그냥 일하는 것을 멈췄습니다. 나는 그것이 작동을 멈춘 후에 나는 모든 변화를 뒤집었지만 그것은 도움이되지 못했다.

<!-- Required Fields --> 
<Style x:Key="requiredFieldValidationStyle"> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Value=""> 
      <Setter Property="TextBox.BorderBrush" Value="Red"/> 
      <Setter Property="TextBox.ToolTip" Value="Eine Eingabe wird benötigt."/> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

사진 :
Combobox Problem

선언 :

private ObservableCollection<string> _zeitraum = new ObservableCollection<string>(); 
    public ObservableCollection<string> Zeitraum 
    { 
     get { return _zeitraum; } 
     set { _zeitraum = value; } 
    } 

private string _zeit; 
    public string Zeit 
    { 
     get { return _zeit; } 
     set 
     { 
      _zeit = value; 
      NotifyPropertyChanged("Zeit"); 
     } 
    } 
+0

왜'SelectedIndex = "0"'을 (를) 설정 하시겠습니까? –

+0

기본적으로 첫 번째 항목이 선택됩니다. –

답변

0

SelectedIndex="0" 치우는 시도하고 SelectedItem="{Binding Zeit}"를 통해 않습니다.

은 코드 숨김 또는 (당신이 사용하고 무엇을 적) 뷰 모델에

Zeit = Zeitraum.FirstOrDefault(); 

를 수행합니다.

편집 : 당신이 당신의 그림을 자세히 보면, 당신은 V.의 왼쪽 상단 모서리가 더 높은 값에 ComboBoxWidth을 설정해보십시오 볼 수 있습니다

.

+0

Zeit 내부가 올바른'string' 방식으로 작동합니다. 그러나 그림에서 볼 수 있듯이 원래 게시물에 추가 한 내용은'Dropbox'에서'Combobox' 자체로 표시되지 않습니다. 무엇을 선택하든 '콤보 박스'는 비어있게됩니다. –

+0

두 가지에 대한 선언을 원본 게시물에 추가했습니다. –

+1

'ComboBox'의'Width' 값을 더 높은 값으로 설정해보십시오. (100 정도) –

0

Zeit은 어떤 유형입니까? 값 유형에 반대되는 객체 인 경우 콤보 상자에 DisplayMemberPath 속성을 설정하여 항목을 선택할 때 해당 멤버를 표시하는 것을 알고 싶을 수 있습니다.

+0

두 가지에 대한 선언을 원본 게시물에 추가했습니다. –

+0

아. 더 가까이를 보면 Combobox의 너비가 26으로 설정됩니다. 그다지 넓지는 않습니다. 대신에 "Auto"또는 HorizontalAlignment = "Stretch"를 사용하는 것을 고려하십시오. - 컨텐트를 표시 할 충분한 공간이없는 것으로 생각됩니다. – toadflakz