您的位置:首页 > 其它

MVVM 开发模式 dataGrid中嵌入combobox,如何使用ComboBox.ItemTemplate

2014-05-30 12:46 519 查看
1   XAML  文件
<DataGridComboBoxColumn x:Name="DlvyShopCodeColumn" ItemsSource="{Binding obsShop}" Header="Dlvy Shop Code" Width="SizeToHeader"
SelectedValueBinding="{Binding Path=DlvyShopCode}" SelectedValuePath="ShopCode" DisplayMemberPath="ShopName" />
<DataGridTemplateColumn   Width="SizeToHeader" Header="Dlvy Shop Code">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox  ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.obsShop}" SelectedValuePath="ShopCode">
<!--<ComboBoxItem Content="{Binding DlvyShopCode}"/>-->
<ComboBox.ItemTemplate >
<DataTemplate>

主要的数据源在后台完成并且赋值

注意的要点,有一个属性,根据父控件是自定义控件还是窗体设置不同。

当父控件是自定义控件的时候  ,设置为  AncestorType={x:Type UserControl}},
当父控件是窗体的时候,设置为

AncestorType={x:Type Window}},
这个属性设置不对的话,界面没有任何数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  WPF MVVM combobox binding XAML