WPF C#数据绑定到DataGridTextColumn
发布时间:2020-12-15 07:51:28 所属栏目:百科 来源:网络整理
导读:我很难在此数据网格视图中显示任何数据.我已经在其他一些StackOverflow论坛帖子中提到了一些建议,但是没有任何运气可以让内容显示出来. DataGrid x:Name="DataGridEmployees" DataContext="{Binding RelativeSource={RelativeSource AncestorType=Window}}"
我很难在此数据网格视图中显示任何数据.我已经在其他一些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> 解决方法myWindow w = new myWindow(); w.DataContext = myViewModel; w.Show(); DataContext="{Binding RelativeSource={RelativeSource AncestorType=Window}}" 要么 <Window x:Name="MyWindow" /> //DataGrid {Binding DataContext,ElementName=MyWindow} ItemsSource="{Binding MyViewModel.MyList}" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |