MVVM WPF 使用 datagrid 绑定 comboBox
2017-09-30 16:52
573 查看
页面引用上下文
<Page x:Class="页面后台类名"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="335" d:DesignWidth="1105"
Title="标题名"
DataContext="{Binding 你VM的类名, Source={StaticResource Locator}}">
绑定方法
<DataGrid Margin="10"
AutoGenerateColumns="False"
DataContext="{Binding DataContent}"
ItemsSource="{Binding EmployeeEntity,Mode=TwoWay}"
SelectedItem="{Binding SelectedEmployee,Mode=TwoWay}" >
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" Binding="{Binding Name}"/>
<DataGridTextColumn Header="性别" Binding="{Binding Sex}"/>
<DataGridTextColumn Header="所属酒店" Binding="{Binding HotelName}"/>
<DataGridTextColumn Header="所属部门" Binding="{Binding Department}"/>
<DataGridTextColumn Header="职务" Binding="{Binding Position}"/>
<DataGridTextColumn Header="入职日期" Binding="{Binding EntryDate}"/>
<DataGridTemplateColumn Header="联系电话" Width="150">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Phone}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="民族" Binding="{Binding Nationality}"/>
<DataGridTextColumn Header="生日" Binding="{Binding Birthday}"/>
<DataGridTextColumn Header="证件类型" Binding="{Binding CardType}"/>
<DataGridTextColumn Header="证件号码" Binding="{Binding CardNumber}"/>
<DataGridTextColumn Header="籍贯" Binding="{Binding Native}"/>
<DataGridTextColumn Header="户口所在地" Binding="{Binding ResidentCity}"/>
<DataGridTextColumn Header="常住地址" Binding="{Binding Address}"/>
<DataGridTextColumn Header="离职日期" Binding="{Binding LeaveDate}"/>
<DataGridTextColumn Header="备注" Binding="{Binding Remarks}" Width="*"/>
</DataGrid.Columns>
</DataGrid>
其中在DataGrid的ItemsSource指定了EF模型实例,SelectedItem指定了选中后选项的存储位置
接着在DataGrid.Columns中指定要绑定的数据模型列名,其中需要用到ComboBox时注意要用DataGridTemplateColumn模板列中增加ComboBox的方法来绑定,否则没数据
<Page x:Class="页面后台类名"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="335" d:DesignWidth="1105"
Title="标题名"
DataContext="{Binding 你VM的类名, Source={StaticResource Locator}}">
绑定方法
<DataGrid Margin="10"
AutoGenerateColumns="False"
DataContext="{Binding DataContent}"
ItemsSource="{Binding EmployeeEntity,Mode=TwoWay}"
SelectedItem="{Binding SelectedEmployee,Mode=TwoWay}" >
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" Binding="{Binding Name}"/>
<DataGridTextColumn Header="性别" Binding="{Binding Sex}"/>
<DataGridTextColumn Header="所属酒店" Binding="{Binding HotelName}"/>
<DataGridTextColumn Header="所属部门" Binding="{Binding Department}"/>
<DataGridTextColumn Header="职务" Binding="{Binding Position}"/>
<DataGridTextColumn Header="入职日期" Binding="{Binding EntryDate}"/>
<DataGridTemplateColumn Header="联系电话" Width="150">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Phone}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="民族" Binding="{Binding Nationality}"/>
<DataGridTextColumn Header="生日" Binding="{Binding Birthday}"/>
<DataGridTextColumn Header="证件类型" Binding="{Binding CardType}"/>
<DataGridTextColumn Header="证件号码" Binding="{Binding CardNumber}"/>
<DataGridTextColumn Header="籍贯" Binding="{Binding Native}"/>
<DataGridTextColumn Header="户口所在地" Binding="{Binding ResidentCity}"/>
<DataGridTextColumn Header="常住地址" Binding="{Binding Address}"/>
<DataGridTextColumn Header="离职日期" Binding="{Binding LeaveDate}"/>
<DataGridTextColumn Header="备注" Binding="{Binding Remarks}" Width="*"/>
</DataGrid.Columns>
</DataGrid>
其中在DataGrid的ItemsSource指定了EF模型实例,SelectedItem指定了选中后选项的存储位置
接着在DataGrid.Columns中指定要绑定的数据模型列名,其中需要用到ComboBox时注意要用DataGridTemplateColumn模板列中增加ComboBox的方法来绑定,否则没数据
相关文章推荐
- WPF使用MVVM完成DataGrid数据绑定带全选
- WPF使用DataGridComboBoxColumn完成绑定
- WPF--MVVM之DataGrid ComboBox数据源绑定枚举
- WPF使用DataGridComboBoxColumn完成绑定
- WPF使用DataGridComboBoxColumn完成绑定
- [WPF]DataGridTemplateColumn使用ComboBox绑定Dictionary细节记录
- WPF使用DataGridComboBoxColumn完成绑定
- MVVM模式WPF的ComboBox数据绑定,使用Dictionary作为数据源
- WPF使用DataGridComboBoxColumn完成绑定
- WPF DataGrid某列使用多绑定后该列排序失效,列上加入 SortMemberPath 设置即可.
- WPF的ComboBox数据绑定,使用Dictionary作为数据源
- WPF中使用MVVM模式进行简单的数据绑定
- WPF中DataGrid的ComboBox的简单绑定方式(绝对简单)
- WPF datagrid 中 DataGridComboBoxColumn 和 DataGridCheckBoxColumn 使用方法
- wpf mvvm datagrid DataGridTemplateColumn的绑定无效的可能原因之一!
- WPF DataGridComboBox绑定enum
- WPF DataGrid 中的DataGridComboBoxColumn 使用
- WPF中DataGrid的ComboBox的简单绑定方式(绝对简单)
- 关于使用MVVM模式在WPF的DataGrid控件中实现ComboBox编辑列
- WPF之MVVM中DataGrid中嵌入Combox,改变Combox可回传至绑定的实体