这是我的代码:
foreach (var columnData in lookup.DataProvider.Metadata)
{
DataGridColumn column = new DataGridTextColumn { Binding = new Binding(columnData.FieldName) };
if (columnData.DataType == typeof(bool))
{
column = new DataGridCheckBoxColumn { Binding = new B
我已经创建了一个自定义DataGrid,其中定义了组合框列。我试图向combobox提供itemsource值,但它在运行时没有在combobox中填充数据。这是C#和XAML代码。
public MainWindow()
{
InitializeComponent();
datagrid_additionalinfo.Items.Add(new object());
datagrid_additionalinfo.DataContext = new ComboboxViewModel();
}
public class ComboboxViewModel
{
我有一个名为TextBoxColumn的自定义类,如下所示
public class TextBoxColumn : DataGridTemplateColumn
{
public static readonly DependencyProperty FieldNameProperty = DependencyProperty.Register("FieldName", typeof(string), typeof(TextBoxColumn), new PropertyMetadata(""));
public string FieldName
在WPF中,我有一个DataGridCell的引用,我想得到它的内容。我曾经将该单元格放在DataGridTextColumn中,可以获得如下内容:
var text = cell.Content as TextBlock;
但是这不再起作用,因为单元格在DataGridTemplateColumn中,尽管我确实指定了TextBlock作为该列的DataTemplate。还有没有办法达到这个目的?
编辑以澄清问题。下面的代码正常工作:
<!-- XAML -->
<DataGridTextColumn Header="Autor" Width="*
沿着与相同的思路,我正在尝试让PopUp在DataGrid中的单元格被编辑时出现在该单元格的下方,并在该单元格不再被编辑时消失。最后一件事是,PopUp内容根据列是动态的,列是通过绑定动态创建的。
我从下面的XAML开始,但是我得到了一个XamlParseException "Add value to collection of type 'System.Windows.Controls.ItemCollection‘抛出一个异常“。
<DataGrid ItemsSource="{Binding Path=Options}">
<Da