0
我試圖將一個類的ObservableCollection綁定到數據網格內的組合框。WPF組合框綁定問題
public class ProductContainer
{
public string Product { get; set; }
public List<string> SubProducts { get; set; }
public ProductContainer()
{
SubProducts = new List<string>();
}
}
在我的MainWindow.xaml我有名單。
public ObservableCollection<ProductContainer> Products { get; set; }
我試圖將它添加到組合框與我有的數據網格,但它沒有正確的綁定。 xaml會是什麼樣子?
<DataGrid AutoGenerateColumns="False" Name="ProductGrid" Width="Auto"
AlternatingRowBackground="LightSlateGray" SelectionMode="Single" SelectionUnit="FullRow" CanUserAddRows="True" CanUserDeleteRows="True" CurrentCellChanged="ProductGrid_CurrentCellChanged">
<DataGrid.Resources>
<DataTemplate x:Key="editProductTemplate">
<ComboBox x:Name="cbProducts" ItemsSource="{Binding Path=Products, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" SelectedItem="{Binding Product}" SelectedValuePath="Product" DisplayMemberPath="Product"/>
</DataTemplate>
<DataTemplate x:Key="editSubProductTemplate">
<ComboBox ItemsSource="{Binding Product.SubProducts, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTemplateColumn MinWidth="120"
Header="Product"
CellTemplate="{StaticResource editProductTemplate}" />
<DataGridTemplateColumn MinWidth="120"
Header="SubProduct"
CellTemplate="{StaticResource editSubProductTemplate}"/>
</DataGrid.Columns>
</DataGrid>
這在XAML它。第一個組合框會填充,但第二個組合框永遠不會根據第一個組合框中的內容填充,或者根本不顯示任何內容。
DataGrid XAML的外觀如何? – Tigran