wpf arrays combobox binding itemssource

wpf - Establecer ItemsSource de un ComboBox en una matriz de enteros?



arrays binding (3)

Sí:

<Window x:Class="IntArrayItemsSource.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> <ComboBox ItemsSource="{Binding}"/> </Grid> </Window> namespace IntArrayItemsSource { /// <summary> /// Interaction logic for Window1.xaml /// </summary> public partial class Window1: Window { public Window1() { InitializeComponent(); this.DataContext = new int[] { 1, 2, 3, 4, 5, 6, 7 }; } } }

Establecer ItemsSource de un ComboBox en una matriz de enteros?


<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <Window.Resources> <x:Array x:Key="Integers" Type="{x:Type sys:Int32}"> <sys:Int32>0</sys:Int32> <sys:Int32>1</sys:Int32> <sys:Int32>2</sys:Int32> </x:Array> </Window.Resources> <ComboBox ItemsSource="{Binding Source={StaticResource Integers}}" /> </Window>


Tuve un problema similar al vincular una matriz de enteros que venía de un ViewModel al ComboBox. Aquí lo que funcionó para mí.

Aquí está XAML, donde ArrayOfIntegers la propiedad ArrayOfIntegers a ItemsSource del ComboBox

<Window x:Class="POpUpWindow.comboBox" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="comboBox" Height="300" Width="300"> <Grid> <ComboBox x:Name="combox" IsReadOnly="True" VerticalAlignment="Center" SelectedIndex="0" ItemsSource="{Binding ArrayOfIntegers}"> </ComboBox> </Grid> </Window>

Aquí está el código detrás y el ViewModel que tiene la propiedad ArrayOfIntegers

public partial class comboBox : Window { private ViewModel mViewModel = new ViewModel(); public comboBox() { InitializeComponent(); this.DataContext = mViewModel; } } public class ViewModel : ViewModelBase { public ViewModel() { ArrayOfIntegers = new int[]{4, 6, 9}; } private int[] mArrayOfIntegers = new int[3]; public int[] ArrayOfIntegers { get { return mArrayOfIntegers; } set { mArrayOfIntegers = value; } } }