Conbobox

时间:2017-04-23 08:47:45

标签: c# wpf xaml

我想构建一个简单的分层Combobox。所以我构建了一个转换器,它在文本之前添加了许多空格,工作正常。但是,当选择一个Item时,我想显示没有空格的SelectedItem的文本。

xaml代码:

        <ComboBox ItemsSource="{Binding KategorieAuswahl}" SelectedItem="{Binding Kategorie, Mode=TwoWay}" Grid.Column="1" Grid.Row="2" >
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Converter={StaticResource iFc}}"/>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

c#转换器:

class vcIndentForComboBox : IValueConverter
{

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {

        if (value.GetType() == typeof(Kategorie))
        {
            Kategorie k = (Kategorie)value;
            return string.Join("", Enumerable.Repeat(" ", (k.Ebene -1)*4)) + k.Bezeichnung;
        }

       return "";
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return null;
    }
}

如何在选择项目时删除文本中的空格,但是将它们保留在下拉列表中以显示层次结构?图中的红色方块?是否有类似SelectedItemTemplate的东西?

enter image description here

0 个答案:

没有答案