2013-07-23 1 views
0

Я использую приложение Silverlight в том, что я использую Datagrid и привязываю данные на основе Observable Collection, но когда я пытаюсь связать Observable Collection с Dropdown, это не является обязательным, нужно ли нам напишите код для привязки в коде xaml.Список привязок к раскрывающимся спискам в SIlverlight не работает

Мой код:

<sdk:DataGridTemplateColumn Header="lab Validated?" CanUserSort="True"> 
    <sdk:DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <Grid> 
       <ComboBox Height="Auto" HorizontalAlignment="Left" 
          Name="cboLabValidated" VerticalAlignment="Center" Width="80" 
          ItemsSource="{Binding Path=LabValidatedList}"> 
       </ComboBox> 
      </Grid> 
     </DataTemplate> 
    </sdk:DataGridTemplateColumn.CellTemplate> 
</sdk:DataGridTemplateColumn> 

ViewModel:

Public LabValidatedList As New List(Of String)() From { _ 
    "Yes", _ 
    "No" 
} 

ответ

1

Для того, чтобы можно было использовать в качестве источника привязки, LabValidatedList должен быть общественным достоянием, а не поле:

Private labValidatedListValue As New List(Of String)() From { _ 
    "Yes", _ 
    "No" 
} 

Public Property LabValidatedList() As List(Of String) 
    Get 
     Return Me.labValidatedListValue 
    End Get 

    Set(ByVal value As List(Of String)) 
     Me.labValidatedListValue = value 
    End Set 
End Property 

Извините, если выше не компилируется немедленно, но VB не является моим языком. Также обратите внимание, что List(Ofd String) не является ObservableCollection.