我看到你绑定可能是不正确的。删除绑定中的前导斜杠,因为绑定的内容不是集合,所以它没有当前项目。
这是我在输出时看到试试你的例子:
System.Windows.Data Error: 40 : BindingExpression path error: '' property not found on 'current item of collection' ''TransferSchedulesView' (HashCode=19117974)'. BindingExpression:Path=TransferSchedulesView/; DataItem='MainWindow' (Name=''); target element is 'DataGrid' (Name='dataGrid1'); target property is 'DataContext' (type 'Object')
这是我的工作的例子。如果你运行它,你会看到自动生成的列:
<DataGrid AutoGenerateColumns="True"
ItemsSource="{Binding Path=DataView}"
DataContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=WpfApplication1:MainWindow, AncestorLevel=1}, Path=TransferSchedulesView}" />
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public TransferSchedulesView TransferSchedulesView { get; set; }
public MainWindow()
{
InitializeComponent();
TransferSchedulesView = new TransferSchedulesView(){DataView = CreateTable()};
}
private static DataTable CreateTable()
{
var dataTable = new DataTable();
dataTable.Columns.Add("aaa");
dataTable.Columns.Add("bbb");
dataTable.Columns.Add("ccc");
dataTable.Rows.Add("sdaasdasd", "dsdsadasdasdsd", "sdasdadsadsadsd");
dataTable.Rows.Add("sdaasdasd", "dsdsadasdasdsd", "sdasdadsadsadsd");
dataTable.Rows.Add("sdaasdasd", "dsdsadasdasdsd", "sdasdadsadsadsd");
return dataTable;
}
}
public class TransferSchedulesView
{
public DataTable DataView { get; set; }
}
}
是否在设计模式中发生吗? –
是的,在DataGrid的属性窗口中有'生成列'和'编辑Porperty-Bound Coliumns'链接按钮。当我点击其中的任何一个时,出现错误 – SpaceghostAli
运行时会发生什么? –