我很难在此数据网格视图中显示任何数据.我已经在其他一些StackOverflow论坛帖子中提到了一些建议,但是没有任何运气可以让内容显示出来.
<DataGrid x:Name="DataGridEmployees" DataContext="{Binding RelativeSource={RelativeSource AncestorType=Window}}" ItemsSource="{Binding GridView}" AutoGenerateColumns="True" Loaded="dataGrid1_Loaded" Margin="0,2,-2" Grid.ColumnSpan="2"> <DataGrid.Columns> <DataGridTextColumn Header="EmployeeId" Width="175" Binding="{Binding Id}"></DataGridTextColumn> <DataGridTextColumn Header="Title" Width="175" Binding="{Binding Title}"></DataGridTextColumn> <DataGridTextColumn Header="WorkStatus" Width="175" Binding="{Binding WorkStatus}"></DataGridTextColumn> <DataGridTextColumn Header="FullName" Width="175" Binding="{Binding FullName}"></DataGridTextColumn> </DataGrid.Columns> </DataGrid>
这是在xaml.cs文件中从单独窗口(?可能导致任何问题?)触发的click事件
public partial class MainMenu : Window { WpfSampleEntities2 _context = new WpfSampleEntities2(); public MainMenu() { InitializeComponent(); } private void Button_Click_1(object sender,RoutedEventArgs e) { EmployeeDetails ed = new EmployeeDetails(); ed.DataContext = ed.DomainEmployees; Binding bin = new Binding("GridView"); bin.Source = ed.DomainEmployees; foreach (var item in ed.DomainEmployees) { bin.Path.PathParameters.Add(item); } ed.Show(); } }
这是EmployeeDetails.cs类/ vm:
[TypeConverter(typeof(DataGridTextColumn))] public class MVVMEmployee : Employee { public int Id { get; set; } public string FullName { get; set; } public string Title { get; set; } public string WorkStatus { get; set; } public MVVMEmployee() { } public MVVMEmployee(int id,string fullName,string title,string workStatus) { this.Id = id; this.FullName = fullName; this.Title = title; this.WorkStatus = workStatus; } }
我也试过XAML:
<DataGrid x:Name="DataGridEmployees" DataContext="{Binding RelativeSource={RelativeSource AncestorType=Window}}" ItemsSource="{Binding GridView}" AutoGenerateColumns="True" Loaded="dataGrid1_Loaded" Margin="0,-2" Grid.ColumnSpan="2"> <DataGrid.Columns> <DataGridTextColumn Header="EmployeeId" Width="175" Binding="{Binding ElementName=Id}" ></DataGridTextColumn> <DataGridTextColumn Header="Title" Width="175" Binding="{Binding ElementName=Title}"></DataGridTextColumn> <DataGridTextColumn Header="WorkStatus" Width="175" Binding="{Binding ElementName=WorkStatus}"></DataGridTextColumn> <DataGridTextColumn Header="FullName" Width="175" Binding="{Binding ElementName=FullName}"></DataGridTextColumn> </DataGrid.Columns> </DataGrid>