Windows Presentation Foundation
.NET Framework 的一部分,它提供统一的编程模型,用于在 Windows 上构建业务线桌面应用程序。
124 个问题
你好 当我在数据网格中留下一个单元格时发生异常 - 但我不知道在哪里可以找到错误 复制
<DataGrid ItemsSource="{Binding}" ...
<DataGrid.Columns>
<DataGridTextColumn Width="40" Header="ID" Binding="{Binding ID}" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Width="250" Header="Name" Binding="{Binding Name}" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
我的 xaml 看起来像这样......这是背后的代码 复制
InitializeComponent();
dGrid.DataContext = DT.Datatable;
有什么想法吗? Note:此问题总结整理于:The bidirectional binding requires “Path” or “XPath” exception - Microsoft Q&A
你好,我在 xmal 中使用了您的代码,后台代码使用以下代码。当我在数据网格中留下一个单元格时,不会发生异常。是我做得少了还是和你不一样?请向我展示更多相关步骤和代码来重现和分析问题。 xaml 的代码如下:
<Grid>
<DataGrid x:Name="dGrid" ItemsSource="{Binding}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Width="80" Binding="{Binding ID}" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Name" Width="80" Binding="{Binding Name}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
xaml.cs 的代码如下:
using System.Data;
using System.Windows;
namespace BidirectionalBindingException
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
dGrid.DataContext = GetDummyData();
}
private static DataTable GetDummyData()
{
DataTable dt = new DataTable();
DataColumn ID = new DataColumn("ID", typeof(int));
dt.Columns.Add(ID);
dt.Columns.Add("Name", typeof(string));
dt.PrimaryKey = new DataColumn[] { ID };
dt.Rows.Add(1, "Name1");
dt.Rows.Add(2, "Name2");
return dt;
}
}
}
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。