2016-02-14 71 views
2

我有一個包含Int32對象集合的組合框。 ComboBox SelectedItem綁定到Int32。UWP組合框未顯示綁定項目

  <ComboBox> 
       <ComboBox.SelectedItem> 
        <Binding Path="MidiChannel" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" /> 
       </ComboBox.SelectedItem> 
       <ComboBox.Items> 
       <ComboBoxItem> 
        <x:Int32>0</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>1</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>2</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>3</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>4</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>5</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>6</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>7</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>8</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>9</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>10</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>11</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>12</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>13</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>14</x:Int32> 
       </ComboBoxItem> 
       <ComboBoxItem> 
        <x:Int32>15</x:Int32> 
       </ComboBoxItem> 
       </ComboBox.Items> 

      </ComboBox> 

MidiChannel屬性實現INotifyPropertyChanged。

無論我嘗試什麼樣的組合,切換集合和SelectedItem,使用SelectedValue而不是SelectedItem。 ComboBox不會在UI中顯示SelectedItem。輸出不顯示任何綁定錯誤,並且我已檢查Int32存在於該類中。我怎樣才能讓ComboBox顯示我的Int32?

+0

不要發佈MidiChannel財產的完整性。 Foir實例,它是一個Int32? –

回答

1

我不是100%確定,但是您正在用<ComboboxItem>元素填充您的列表。 你的屬性應該是那種類型(最好不要),或者你的路徑應該反映ComboboxItem.Content或其他東西。

總而言之,使用ItemSource屬性更容易(更好),並讓您的ViewModel提供一個整數列表。一個簡單的數組或List<int>就足夠了。

如果你想使用XAML這一點,您忽略了包裝:

<ComboBox.Items> 
    <x:Int32>0</x:Int32> 
    <x:Int32>1</x:Int32> 
    <x:Int32>2</x:Int32> 
    ...