step 1:
private void datagrid1_CurrentCellChanged(object sender, EventArgs e)
datagrid1.BeginEdit();
step 2:
private void datagrid1_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs e)
if(e.Column.ToString() == "System.Windows.Controls.DataGridComboBoxColumn")
((ComboBox)(e.EditingElement)).IsDropDownOpen=true;
参考Webbert的回复,他提供了一个方法:
public class SingleClickComboBox : DataGridComboBoxColumn
private ComboBox combo;
protected override object PrepareCellForEdit(System.Windows.FrameworkElement editingElement, system.Windows.RoutedEventArgs editingEventArgs)
object x = base.PrepareCellForEdit(editingElement, editingEventArgs);
if ((editingEventArgs is MouseButtonEventArgs) && ((MouseButtonEventArgs)editingEventArgs).ChangedButton == MouseButton.Left)
ComboBox o = editingElement as ComboBox;
if (o != null)
o.IsDropDownOpen = true;
return x;
步骤二、在资源中创建 数据提供者
<UserControl x:Class="XXXXView" xmlns:core="clr-namespace:System;assembly=mscorlib"
xmlns:local="c...
1.添加2个命名空间
xmlns:core="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:WpfApplication11"
在使用DataGrid的时候,有时候需要使某些列为ComboBox,这时自然想到使用DataGridComboBoxColumn,但是如果使用的是ItemsSource数据绑定后台的对象,就会发现,这根本就不能用。
首先,看有问题的代码:
后台代码:
using System.Windows;
using System.Collections.ObjectModel;
usi...
DataGrid控件是.net里面应用非常广泛的控件,在实际工作中,经常需要用户在输入数据的时候能够直接从几个备选数据进行选择,就是要嵌入下拉列表框,或者输入日期和时间,就是用到嵌入的DateTimePacker控件,还有使用复选框。
这里是一个完整的c#工程,演示了在这些控件的使用。
<DataGrid Margin="1" ItemsSource="{Binding TagData,Mode=TwoWay}" AutoGenerateColumns="False" CanUserReorderColumns="False" CanUserSortColumns="False" SelectionMode="Single"
CanUserAddRows="False">
方案也是改了又改, 从直接的 DataGridComboBoxColumn 到 DataGridTemplateColumn的 CellEditingTemplate 再到这个完成版 DataGridTemplateColumn的CellTemplate 加事件。终于完...
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录WPF DataGrid 单元格实现下拉框选项前言一、问题二、示例1.实现效果2.描述三、解决方法四、总结
需要实现DataGrid控件单元格下拉框选项,DataGrid数据来源是数据库中的表
第一次写博客,尝试一下
网上有很多关于DataGridComboBoxColumn以及DataGridTemplateColumn模板列的教程,需要在前台XAML中进行添加,这
XAML代码:
<Window x:Class="DGComboBoxDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.micr
本次的文献是Wpf mvvm框架下实现表格编辑,在表格内放入下拉框,给表格内的下拉框赋予数据库中的数据如何实现。这个问题困扰了我很久,应为在Mvvm模式下不能直接选择下拉框的名称,直接赋值,然后用普通的下拉框赋值的方法也赋值不了,我也想了办法用Wpf那种下拉框赋值也赋值不了。在网上找了资料也很少,后面找到一个相似的方法,然后根据他的方法改写成了我现在需要的方法才实现了这个功能。
首先这就是我们的html 这就是表格内的单位下拉框,然后我们赋值的就是UnitSheet,这个了。
<DataGri
二、主要代码部分(使用MVVM Light框架):
1.主窗体xaml代码 (MainWindow.xaml):
<Window x:Class="WpfApp2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.m