/ / Неможливо прив’язати значення до комбінованого поля в wpf - c #, wpf, xaml

Не вдається присвоїти значення combobox в wpf - c #, wpf, xaml

У мене є елемент керування, де знаходиться combox. Я прив'язую до нього властивості з modelview. Я можу прив’язати властивості до текстових полів, але не до комбінованого поля. Значення від modelview - 4. Хтось знає, чому це?

<ComboBox  HorizontalAlignment="Left" VerticalAlignment="Top" SelectedItem="{Binding Path=QuantityOfStars}">

<ComboBoxItem Content="0"></ComboBoxItem>

<ComboBoxItem Content="1"></ComboBoxItem>

<ComboBoxItem Content="2"></ComboBoxItem>

<ComboBoxItem Content="3"></ComboBoxItem>

<ComboBoxItem Content="4"></ComboBoxItem>

<ComboBoxItem Content="5"></ComboBoxItem>

</ComboBox>


public int QuantityOfStars
{
get
{
return this.ReporterHotelDescription.QuantityOfStars;

}
set
{
this.ReporterHotelDescription.QuantityOfStars = value;
NotifyChanged("QuantityOfStars");
}
}

Відповіді:

3 для відповіді № 1

Ви заповнили ComboBox елементами ComboBoxItem, а не цілими числами, тому він не може перетворити їх у ціле число, яке прив'язується до вашого властивості. Або заповніть ComboBox цілими числами вручну:

<ComboBox
HorizontalAlignment="Left" VerticalAlignment="Top" SelectedItem="{Binding Path=QuantityOfStars}"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<sys:Int32>0</sys:Int32>
<sys:Int32>1</sys:Int32>
<sys:Int32>2</sys:Int32>
<sys:Int32>3</sys:Int32>
<sys:Int32>4</sys:Int32>
<sys:Int32>5</sys:Int32>
</ComboBox>

Або прив’яжіть ItemsSource властивість на ComboBox до властивості у вашому ViewModel, що є списком відповідних цілих чисел.