C# 组合框显示错误字符串的列表

C# 组合框显示错误字符串的列表,c#,wpf,xaml,combobox,C#,Wpf,Xaml,Combobox,在XAML中,我将一个组合框绑定到一个名为标记的字符串列表,我在名为设置的静态类中使用了该列表。 这里是XAML: <Window x:Class="CSV_To_Tags_App.Window2" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:loc="clr

在XAML中,我将一个
组合框
绑定到一个名为
标记
的字符串列表,我在名为
设置
的静态类中使用了该列表。 这里是XAML:

<Window x:Class="CSV_To_Tags_App.Window2"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:loc="clr-namespace:CSV_To_Tags_App"
    Title="Window2" Height="435" Width="566">
    <Grid>
        <StackPanel Orientation="Horizontal" DataContext="x:Static loc:Settings">
            <ItemsControl ItemsSource="{x:Static loc:Settings.Tags}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <ComboBox ItemsSource="{Binding}"/>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </StackPanel>
    </Grid>
</Window>
因此,我想得到一个
组合框
,它将显示
标签列表
。 我使用的是
DataTemplate
,因为以后我必须显示一个更大的对象列表,每个对象旁边都会显示
ComboBox

相反,我得到的是:

我得到了四个组合框,每个组合框都包含我在列表中放置的标签的字母。因此,第一个组合框有字母:
H-e-a-d-d-e-r-1
,第二个组合框有
H-e-a-d-d-e-r-2
,依此类推

我希望得到一个包含所有四个标记的
组合框


如何实现这一点?

您不需要为此使用
堆叠面板。您只需要一个
组合框
,并将其设置为
itemsource
。像这样:

<ComboBox ItemsSource="{x:Static loc:Settings.Tags}" VerticalAlignment="Top"/>

要使其正常工作,您不需要Items控件。在StackPanel中只需一个组合框就足够了。检查以下代码:

<Grid>
    <StackPanel Orientation="Horizontal" DataContext="x:Static loc:Settings">
        <ComboBox VerticalAlignment="Top" ItemsSource="{x:Static loc:Settings.Tags}" />
    </StackPanel>
</Grid>


字符串是可枚举的,即每个字符的行。我删除了我的答案,取而代之的是@S.Akbari的答案,只是想添加这个解释谢谢,它工作得很好。但是,老实说,我不明白为什么这是可行的,而我的代码却不行。我对绑定的理解有一个问题——我不知道应该在源代码中放什么,在路径中放什么。
<ComboBox ItemsSource="{x:Static loc:Settings.Tags}" VerticalAlignment="Top">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding}"></TextBlock>
            </StackPanel>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>
<Grid>
    <StackPanel Orientation="Horizontal" DataContext="x:Static loc:Settings">
        <ComboBox VerticalAlignment="Top" ItemsSource="{x:Static loc:Settings.Tags}" />
    </StackPanel>
</Grid>