Combobox SelectedItem没有显示

时间:2014-07-24 07:27:43

标签: c# wpf xaml combobox

我有以下Combobox

<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 Combobox时,它不显示在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> 被选中,只是没有显示。它刚刚停止工作。我已经扭转了我停止工作后所做的所有改变,但这没有帮助。

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");
        }
    }

图片:
Combobox Problem

声明:

{{1}}

2 个答案:

答案 0 :(得分:0)

尝试删除SelectedIndex="0"并通过SelectedItem="{Binding Zeit}"执行此操作。

待办事项

Zeit = Zeitraum.FirstOrDefault();

在您的CodeBehind或ViewModel中(您使用的是什么)。

修改

如果仔细查看图片,可以看到左上角的V.尝试将Width的{​​{1}}设置为更高的值。

答案 1 :(得分:0)

Zeit是什么类型的?如果它是一个对象(与值类型相对),您可能需要在组合框上设置DisplayMemberPath属性,以便在选择该项时它知道显示该成员。