我正在使用Silverlight应用程序,因为我正在使用Datagrid并基于Observable Collection绑定数据,但是当我尝试将Observable Collection绑定到Dropdown时它没有绑定,我们是否需要在xaml代码中将代码写入Bind后面。
我的代码:
<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"
}
答案 0 :(得分: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
。