wpf: как заставить ComboBoxItems хранить целые числа в xaml - PullRequest
15 голосов
/ 28 августа 2009

хорошо, у меня тут должно быть мозги ...

У меня есть ComboBox с 6 элементами, и я пытаюсь связать выбранный элемент с целочисленным значением. Это не работает, я подозреваю, потому что ComboBoxItem's являются строками. Мне не хочется составлять список в коде только для того, чтобы заполнить этот маленький блок, так есть ли в xaml способ сообщить комбобоксам, что они содержат целые числа? Что-то вроде <x:Int>2</x:Int> может быть?

XAML:

<ComboBox SelectedItem="{Binding SavedPrintTicket.PagesPerSheet}">
    <ComboBoxItem>1</ComboBoxItem>
    <ComboBoxItem>2</ComboBoxItem>
    <ComboBoxItem>4</ComboBoxItem>
    <ComboBoxItem>6</ComboBoxItem>
    <ComboBoxItem>8</ComboBoxItem>
    <ComboBoxItem>16</ComboBoxItem>
</ComboBox>

1 Ответ

43 голосов
/ 28 августа 2009

Использовать пространство имен системы:

xmlns:sys="clr-namespace:System;assembly=mscorlib"

И тогда ваш комбинированный список может содержать целые числа, например:

<ComboBox>
   <sys:Int32>1</sys:Int32>
</ComboBox>
...