在 WPF 应用程序中使用 ReportViewer

要在 WPF 应用程序中使用 ReportViewer 控件,您需要将 ReportViewer 程序集添加到项目并以编程方式对其进行配置。 WPF 支持 Windows 窗体控件,但 ReportViewer 控件没有为 WPF 提供任何自动配置(而在 Windows 窗体应用程序中提供了此功能)。
在 WPF 应用程序中,ReportViewer 控件承载在 WindowsFormsHost 控件之中。 WindowsFormsHost 控件要求对调用代码的完全信任,这是 WPF 客户端应用程序在 Windows 中的信任级别。
1、在“添加引用”对话框中的“.NET”选项卡下,选择“Microsoft.ReportViewer.WinForms”程序集,然后单击“确定”。
2、XAML(这将在 XAML 页面上创建名为 _reportViewer 的 ReportViewer 实例。):

<Window x:Class="WpfReportApplication.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:rv="clr-namespace:Microsoft.Reporting.WinForms;assembly=Microsoft.ReportViewer.WinForms" 
        Title="MainWindow" Height="350" Width="525">
    <Grid>
      <WindowsFormsHost> 
        <rv:ReportViewer x:Name="_reportViewer"/> 
      </WindowsFormsHost>
    </Grid>
</Window>

参考学习:演练:在 WPF 应用程序中使用 ReportViewer

WPF (Windows Presentation Foundation) 应用程序使用 Entity Framework Core (EF Core) 链接数据库通常涉及以下几个步骤: 1. 安装依赖:首先,在项目安装 EF Core 和相关的数据库驱动包(例如 Microsoft.EntityFrameworkCore.SqlServer 对于 SQL Server 或 Microsoft.EntityFrameworkCore.MySql 等对其他数据库的支持)。 2. 数据模型定义:创建数据模型类,这些类代表数据库的实体。例如,如果你有一个用户表,可能会有 `User` 类,包含属性如 `Id`, `Name`, `Email` 等。 ```csharp public class User { public int Id { get; set; } public string Name { get; set; } public string Email { get; set; } } ``` 3. 实体框架配置:在项目的 Startup.cs ,配置服务,包括 DbContext。你需要指定实体集所在的命名空间和具体的上下文类,以及数据库连接字符串。 ```csharp services.AddDbContext<UserContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); ``` 4. 上下文类 (`UserContext`):这是关联数据模型的关键,它继承自 `DbContext` 并包含所有实体集合。 ```csharp public class UserContext : DbContext { public DbSet<User> Users { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // ... 继续上面的配置 } protected override void OnModelCreating(ModelBuilder modelBuilder) { // ... 模型映射,如果需要的话 } } ``` 5. 使用数据库操作:在 WPF 控制器或视图模型,你可以通过注入 `UserContext` 来执行增删改查等数据库操作。 ```csharp private readonly UserContext _context; public ViewModel(UserContext context) { _context = context; } public async Task SaveUser(User user) { await _context.Users.AddAsync(user); await _context.SaveChangesAsync(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值