Can';不要在C#代码中使用组合框

Can';不要在C#代码中使用组合框,c#,xaml,windows-8,combobox,C#,Xaml,Windows 8,Combobox,我想在combobox中添加iten,但使用c#,因为我不想一直添加相同的combobox iten。我的代码是,这是我想要添加iTen的组合框 <ScrollViewer Margin="252,130,296,134" Grid.Row="1" VerticalAlignment="Top" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" ScrollViewer.Verti

我想在combobox中添加iten,但使用c#,因为我不想一直添加相同的combobox iten。我的代码是,这是我想要添加iTen的组合框

    <ScrollViewer Margin="252,130,296,134" Grid.Row="1" VerticalAlignment="Top" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollMode="Enabled" ScrollViewer.HorizontalScrollMode="Disabled" ScrollViewer.ZoomMode="Disabled">
            <StackPanel >
                <ItemsControl x:Name="ic" Grid.Row="2">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <Grid HorizontalAlignment="Left" VerticalAlignment="Center">
                                <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
                                    <Border BorderBrush="#C83245" Background="White"  BorderThickness="1">
                                        <ComboBox x:Name="cbSeletion" VerticalAlignment="Center" FontSize="14" Width="250" Height="40" Foreground="Black" Tapped="cbSeletion_Tapped">

                                        </ComboBox>
                                    </Border>
                                    <Border BorderBrush="#C83245" Background="White" BorderThickness="1">
                                        <TextBlock Text="{Binding Name}" FontSize="14" VerticalAlignment="Center" Width="350" Foreground="Black"/>
                                    </Border>
                                    <Border BorderBrush="#C83245" Background="White"  BorderThickness="1" >
                                        <TextBlock Text="{Binding Position}" FontSize="14" VerticalAlignment="Center" Width="250" Foreground="Black"/>
                                    </Border>
                                </StackPanel>
                            </Grid>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
            </StackPanel>
        </ScrollViewer>


如何使用它?

您可以将combobox项资源绑定到viewmodel中的ObservableCollection:

<ComboBox ItemsSource="{Binding Items}"/>

财产:

ObservableCollection<string> _items = new ObservableCollection<string>();
public ObservableCollection<string> Items
{
     get
     {
          return _items;
     }
}
ObservableCollection\u items=新的ObservableCollection();
公共可观测收集项目
{
得到
{
退货(物品);;
}
}

然后,您可以在该集合中添加项目,下拉列表中的项目将反映它。

如果您的项目确实很少,您可以直接在XAML中使用
ComboBoxItem
,但它仍然没有那么出色。MVVM方法无疑是答案,尤其是对于组合框集合中的许多项,因为它为您提供了更大的灵活性,并且逻辑没有那么硬编码。

为您的items控件创建items ViewModel,并将数据项集合放在其中。然后将您的ComboBox.ItemsSource绑定到每个项目的集合。我添加了comboboxitem,但无法使用它