我有一个使用MVVM的简单单窗口WPF应用程序。 XAML绑定到我的MainViewModel.cs类,该类包含一个ObservableCollection站点。现在,SiteModel类有一个名为Owners的属性,它包含第二个ObservableCollection公司。
我需要将我的公司属性绑定到我的XAML中的ComboBox。 ComboBox嵌套在DataGrid中。情况如下所述。
<DataGrid Name="UxSiteGrid" DockPanel.Dock="Top" ItemsSource="{Binding Sites, Source={StaticResource ViewModel}}" AutoGenerateColumns="false"
Margin="5,5,5,0" CanUserAddRows="False" CanUserDeleteRows="True" CanUserResizeRows="False" CanUserReorderColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" Header="Name"/>
<DataGridTextColumn Binding="{Binding VseId}" Header="Vse ID"/>
<DataGridTextColumn Binding="{Binding IMO}" Header="IMO"/>
<DataGridComboBoxColumn SelectedItemBinding="{Binding SiteType}" ItemsSource="{local:EnumValues rdsConfigConnector:SiteType}" Header="Site type"/>
<DataGridTextColumn Binding="{Binding TimePeriod}" Header="Fetching period"/>
<DataGridTextColumn Binding="{Binding Latitude}" Header="Latitude"/>
<DataGridTextColumn Binding="{Binding Longitude}" Header="Longitude"/>
<DataGridTextColumn Binding="{Binding OffsetLatitude}" Header="Offset latitude"/>
<DataGridTextColumn Binding="{Binding OffsetLongitude}" Header="Offset longitude"/>
<DataGridTemplateColumn Header="Site Owners">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate >
<ComboBox ItemsSource="{Binding Owners.companies}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
答案 0 :(得分:0)
DataTemplate
中的数据上下文应该已经是您的网站,因此{Binding Owners.companies}
应该有效(请参阅here)。
请注意,数据绑定区分大小写=&gt;它可能会{Binding Owners.Companies}
吗?
如果一切正确:您是否在输出窗口中出现“绑定错误”?