热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#编程指南:实现列表与WPF数据网格的高效绑定方法

篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何在C#中将列表与WPF数据网格绑定?相关的知识,希望对你有一定的参考价值。 我似乎无法弄清楚如何将数据从wfp导入列表并绑定到datagrid。x

篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何在C#中将列表与WPF数据网格绑定?相关的知识,希望对你有一定的参考价值。



我似乎无法弄清楚如何将数据从wfp导入列表并绑定到datagrid。

xaml表单显示正常

我创建了属性,我创建了一个继承基类的类,即code360。我在线尝试了很多资源,但没有为我工作。我试图硬编码输入,看看它是否会填充网格,但没办法。像这样

{firstName = "Tim", lastName = "Joy",
email = "tim@joy.com",
phOneNumber= "0988390243",
amount = 200000 }

这是mainWindow.xaml.cs

using System;
using System.Collections.Generic;
using System.Windows;
namespace Code360
{
///


/// Interaction logic for MainWindow.xaml
///

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public class code360
{
public string firstName { get; set; }
public string lastName { get; set; }
public string email { get; set; }
public string phoneNumber { get; set; }
public decimal amount { get; set; }
}
public class Code360Manager : List
{
public Code360Manager()
{
Add(new code360() {firstName = "Tim", lastName = "Joy", email = "tim@joy.com", phOneNumber= "0988390243", amount = 200000 });
}
}
private void SubmitButton_Click(object sender, RoutedEventArgs e)
{
//studentGrid.ItemsSource = Code360Manager();
MessageBox.Show("This is to test the firstname", firstName.Text);
}
}
}

这是mainWindow.xaml

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Code360"
mc:Ignorable="d"
Title="MainWindow" >





















Text="Code360 Student Record" Grid.ColumnSpan="3"
Margin="0,0,0,10" />
Text="First Name" Margin="0,0,0,10"/>
Margin="0,0,0,10"/>


Text="Email" Margin="0,0,0,10"/>
Margin="0,0,0,10"/>
Text="Phone Number" Margin="0,0,0,10"/>
Margin="0,0,0,10"/>
Text="Amount" Margin="0,0,0,10"/>
Margin="0,0,0,10"/>

答案

1.要使用Binding你需要设置DataContext属性

InitializeComponent();
this.DataCOntext= this;

2.u需要一个集合来绑定xaml.cs中的DataGrid List MyList { get; set; } //确保你有这个列表中的数据

3.ItemsSource道具将采取集合所以你需要做它与收集绑定ItemsSource="{Binding MyList } // note the list name is same as the in 2 ponit

这也不是跟随mvvm


另一答案

我在Visual Studio中粘贴了该代码,除此之外,我遇到了这行ItemsSource="{StaticResource Code360Manager}"的问题

从你分享的XAML中我看不到你在哪里定义资源所以请考虑以下内容。




在定义网格之后,您将看到数据网格渲染


另一答案

我相信你需要设置DataContext。在InitializeComponent();之后:DataCOntext= this;编辑:(抱歉。我发了很多评论)。您需要将xaml设置为上下文。通常使用MainWindowViewModel。我更改您的代码以将ItemsSource设置为List <>而不是类:

public partial class MainWindow : Window
{
public List Code360Manager { get; set; } = new List();
public MainWindow()
{
InitializeComponent();
Code360Manager.Add(new code360() {firstName = "Tim", lastName = "Joy", email = "tim@joy.com", phOneNumber= "0988390243", amount = 200000 });
DataCOntext= this;
}
private void SubmitButton_Click(object sender, RoutedEventArgs e)
{
//studentGrid.ItemsSource = Code360Manager();
MessageBox.Show("This is to test the firstname", firstName.Text);
}
}
public class code360
{
public string firstName { get; set; }
public string lastName { get; set; }
public string email { get; set; }
public string phoneNumber { get; set; }
public decimal amount { get; set; }
}

另一答案

Grid不会将数据输入作为ItemSource,您需要使用DataContext。就像是:

studentGrid.DataCOntext= Code360Manager();

如果仍然无效,请尝试使用ListCollectionView,如下所示:

ListCollectionView alist = new ListCollectionView(Code360Manager());
studentGrid.DataCOntext= alist;


推荐阅读
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
  • 基因组浏览器中的Wig格式解析
    本文详细介绍了Wiggle(Wig)格式及其在基因组浏览器中的应用,涵盖variableStep和fixedStep两种主要格式的特点、适用场景及具体使用方法。同时,还提供了关于数据值和自定义参数的补充信息。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 本文详细探讨了JavaScript中的作用域链和闭包机制,解释了它们的工作原理及其在实际编程中的应用。通过具体的代码示例,帮助读者更好地理解和掌握这些概念。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 使用Powershell Studio快速构建GUI应用程序
    本文介绍了如何利用Powershell Studio创建功能强大的可视化界面。相较于传统的开发工具,Powershell Studio提供了更为简便和高效的开发体验,尤其适合需要快速构建图形用户界面(GUI)的场景。 ... [详细]
author-avatar
孙衍龙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有