我有以下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");
}
}
图片:
声明:
{{1}}
答案 0 :(得分:0)
尝试删除SelectedIndex="0"
并通过SelectedItem="{Binding Zeit}"
执行此操作。
待办事项
Zeit = Zeitraum.FirstOrDefault();
在您的CodeBehind或ViewModel中(您使用的是什么)。
修改强>
如果仔细查看图片,可以看到左上角的V.尝试将Width
的{{1}}设置为更高的值。
答案 1 :(得分:0)
Zeit
是什么类型的?如果它是一个对象(与值类型相对),您可能需要在组合框上设置DisplayMemberPath
属性,以便在选择该项时它知道显示该成员。