不能在 C# 代码中使用组合框
本文关键字:组合 代码 不能 | 更新日期: 2023-09-27 18:33:52
我想将 itens 添加到组合框中,但在 c# 中,因为我不想一直添加相同的组合毒素。我的代码是我想添加它的组合框。
<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>
我该怎么做才能使用它?
您可以将组合框 ItemsSource 绑定到视图模型中的可观察集合:
<ComboBox ItemsSource="{Binding Items}"/>
该物业:
ObservableCollection<string> _items = new ObservableCollection<string>();
public ObservableCollection<string> Items
{
get
{
return _items;
}
}
然后,可以将项添加到该集合或从该集合添加项,下拉列表中的项将反映该集合。
如果你的项很少,你可以直接在 XAML 中使用ComboBoxItem
,但它仍然不是那么优雅。MVVM 方法绝对是答案,尤其是对于 ComboBox 集合中的许多项目,因为它为您提供了更大的灵活性,并且逻辑不是硬编码的。