WindowsFormsHost 中的 ILScene

2024-01-27

我正在尝试在 WPF 中的 WindowsFormsHost 控件中托管 ILPanel。这是我的代码:

XAML:

<Window x:Class="ILNumericsCharacteristicViewer.ILView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:forms="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
    Title="ILView"
    Width="300"
    Height="300"
    Loaded="ILView_OnLoaded">
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="auto" />
    </Grid.RowDefinitions>

    <forms:WindowsFormsHost x:Name="WindowsFormsHost" Margin="5" />

    <Button x:Name="ButtonClose"
            Grid.Row="1"
            HorizontalAlignment="Right"
            Click="ButtonClose_OnClick"
            Content="Close" />
</Grid>

背后代码:

public partial class ILView : Window
{
    private ILPanel ilPanel;

    public ILView()
    {
        InitializeComponent();
    }

    private void IlPanelOnLoad(object sender, EventArgs eventArgs)
    {
        ILArray<float> A = ILMath.tosingle(ILMath.rand(3, 10000));

        var scene = new ILScene {
    new ILPlotCube(twoDMode: false) {
        new ILPoints {
            Positions = A,
            Color = null,
            Colors = A,
            Size = 2,
                    }
                }
        };
        var pcsm = scene.First<ILPlotCube>().ScaleModes;
        pcsm.XAxisScale = AxisScale.Logarithmic;
        pcsm.YAxisScale = AxisScale.Logarithmic;
        pcsm.ZAxisScale = AxisScale.Logarithmic;

        ilPanel.Scene = scene;
    }

    private void ButtonClose_OnClick(object sender, RoutedEventArgs e)
    {
        Close();
    }

    private void ILView_OnLoaded(object sender, RoutedEventArgs e)
    {
        ilPanel = new ILPanel();
        ilPanel.Load += IlPanelOnLoad;
        WindowsFormsHost.Child = ilPanel;
    }
}

线路WindowsFormsHost.Child = ilPanel;抛出参数异常:“参数无效。”堆栈跟踪:

在 System.Drawing.Bitmap..ctor(Int32 宽度,Int32 高度, PixelFormat 格式)位于 ILNumerics.Drawing.ILBackBuffer.set_Rectangle(矩形值)位于 ILNumerics.Drawing.ILGDIDriver.set_Size(大小值)位于 ILNumerics.Drawing.ILOGLControl.OnResize(EventArgs e) at System.Windows.Forms.Control.OnSizeChanged(EventArgs e) at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 宽度、Int32 高度、Int32 客户端宽度、Int32 客户端高度)位于 System.Windows.Forms.Control.UpdateBounds() 位于 System.Windows.Forms.Control.WmWindowPosChanged(Message& m) at System.Windows.Forms.Control.WndProc(Message&m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg、IntPtr wparam、IntPtr lparam)


如果 ILNumerics 的渲染控件不是从常规应用程序加载的,则您必须给出提示,以便区分常规渲染和设计时行为。在运行时动态加载库的框架(VSTO、devenv、LinqPad 和显然 MEF)可能会导致 ILNumerics 控件“认为”要在设计器中使用。因此您找到了设计时替换(“圆圈”)。

为了使 ILNumerics 以“运行时方式”呈现,请将以下设置添加到您的 app.config 中:

key="ILNIsHosted" value="true"

在 app.config 设置文件的上下文中:

<configuration>
  <appSettings>
    <add key="ILNIsHosted" value="true"/>
  </appSettings>
</configuration>

即使在框架不允许执行用户代码的情况下,使用 app.config 也可以应用该设置before任何控件的设置。如果您的框架提供了一些初始化钩子,您也可以通过代码进行配置:

ILNumerics.Settings.IsHosted = true; 

请记住,此代码需要在应用程序设置的早期执行。最迟在 ILPanel 初始化之前。否则,建议使用 app.config。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WindowsFormsHost 中的 ILScene 的相关文章

  • 如何在 WPF 中实现虚线或点线边框?

    我有一个ListViewItem我正在申请Style到 我想把灰色虚线作为底部Border 我怎样才能在 WPF 中做到这一点 我只能看到纯色画笔 这在我们的应用程序中效果很好 允许我们使用真正的边框而不是乱用矩形
  • 获取代码中的绑定结果

    我可能正在以错误的方式寻找这个 但是 有没有办法通过代码获取绑定的结果值 可能是一些显而易见的东西 但我就是找不到它 您只需致电ProvideValue的绑定方法 困难的部分是你需要通过有效的IServiceProvider到方法 编辑 实
  • 该组件没有由 uri 标识的资源

    我想创建一个通用数据网格以在我的所有视图 用户控件上使用 这是我的结构 Class Library called Core Class called ViewBase public class ViewBase UserControl pu
  • 列表视图上的 TextBlock:如何忽略 TextBlock 中的点击并让列表视图处理它们

    我有一个显示大量信息的列表视图 但是当它为空时 我想在其上覆盖一个文本块 上面写着 没有要显示的信息 或 bla bla bla 添加信息 列表视图设置为响应鼠标单击 但现在如果我单击文本块 这些事件将路由到文本块 我怎样才能让这些事件转到
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 将 PDF 嵌入到 WPF 应用程序中

    我正在尝试在 WPF 应用程序中嵌入 显示 PDF 到目前为止 我已经尝试过这些解决方案 但没有成功 在 a 中显示 PDFWindowsFormsHost主持一个AxAcroPdf控制 类似于显示的内容here http hugeonio
  • WPF:Prism 对于小型应用程序来说是不是太过分了?

    如果我不将我的应用程序分成不同的模块 否则我会认为 Prism 确实是可行的方法 我应该使用 Prism 吗 我知道 Prism 提供了一个方便的实现ICommand 我可以自己在一页代码中完成 并为我们提供IEventAggregator
  • 如何在运行时添加到 TreeView 目录

    我有一个TreeView我想允许用户添加和删除子项目 在探索基本功能时 我使用button and a textbox添加此子项 当用户点击button a new TreeViewItem需要创建并设置为我的父项的子项TreeView与t
  • .NET / C# / WPF 项目的命名约定

    NET C WPF 项目广泛接受的命名约定是什么 Microsoft 有一篇关于命名约定的内容广泛的 MSDN 文章here http msdn microsoft com en us library ms229002 aspx
  • WPF控件默认大小

    为 wpf 应用程序定义自定义资源主题时 我可以设置宽度 高度等 如何找到这些属性的默认值 即框架中提供的控件中使用的值 WPF 控件通常不包含任何类型的默认大小 WPF 的主要功能点之一是 除非您指定大小 否则所有内容都会动态调整大小 如
  • PreviewKeyDown 不会在 ElementHost 中针对 Tab 和箭头键触发

    我在 Winforms ElementHost 中有一个 WPF 窗口 我的窗口上的 Tab 键和箭头键不会触发 KeyDown 和 PreviewKeyDown 事件 KeyUp 和 PreviewKeyUp 似乎工作正常 Preview
  • 如何枚举控件的所有依赖属性?

    我有一些 WPF 控件 例如 文本框 如何枚举该控件的所有依赖属性 如 XAML 编辑器所做的那样 不需要使用反射 恕我直言 这是一个坏主意 因为框架已经为此提供了实用程序类 但它们并不明显找到 以下是基于这篇文章的答案 枚举绑定 http
  • 是什么导致 WPF 打印机输出被光栅化?

    我在 WPF 中遇到了许多打印问题 其中正在打印的特定项目组合会突然触发打印机输出的光栅化 导致打印机输出丑陋且庞大 并可能导致打印每页需要 30 秒 我发现在控件上设置任何级别的不透明度之类的事情通常会触发此问题 我忘记了它还有什么作用
  • WPF:通过拖放重新排序 WrapPanel 内容?

    我正在寻找一种通过拖放对 WPF WrapPanel 的内容 项目 重新排序的方法 我只想单击一个项目并将其拖动到新位置 据我了解 这是一项非常常见的任务 我想知道有人已经这样做了 或者知道如何实现此功能 我已经进行了谷歌搜索 但什么也没找
  • 更改其他页面的主窗口内容

    在 WPF 应用程序的主窗口中 我有一个 Badged 元素 来自材料设计 这是我的代码
  • 创建带有部分的选项卡式侧边栏 WPF

    我正在尝试创建一个带有部分的选项卡式侧边栏 如 WPF 中的以下内容 我考虑过几种方法 但是有没有更简单 更优雅的方法呢 方法一 列表框 Using a ListBox并将 SelectedItem 绑定到右侧内容控件所绑定的值 为了区分标
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • 当 AutoGenerateColumns = True 时如何重命名 DataGrid 列?

    我有一个简单的数据结构类 public class Client public String name set get public String claim number set get 我正在将其喂入DataGrid this data
  • 如何使取消按钮像“X”按钮一样工作?

    在我的 XAML 文件中 我有一个窗口 我试图将其设置为无论用户单击 X 按钮还是单击 取消 按钮 行为都是相同的 我的缩写代码如下 public partial class Dialog Window private void Windo
  • 使用带有 prism 的 MVVM 在视图之间进行更改

    我是 WPF 新手 但根据我所读到的内容 构建应用程序的正确方法是在同一窗口上切换视图 我的意思是类似于带有菜单和显示视图的工作区的 框架 到目前为止我一直在关注这个http jesseliberty com 2011 01 06 wind

随机推荐

  • 在 BeautifulSoup 中使用多个条件

    我们使用此代码查找包含文本 Fiscal 的标签 soup find class label text re compile Fiscal 我如何在这里放置多个条件 假设标签都包含 财政 和 年度 或者包含 财政 而不是 年份 的标签 如果
  • Android 如何在安排后更改 TimerTask 间隔?

    timerUploadTime new Timer timerUploadTimeTask new TimerTask Override public void run mHandler post new Runnable Override
  • Google 测试输出报告附加

    我在 VC 中使用 GTest 进行单元测试 我有5套测试服 我想生成 Google 测试返回的结果的测试报告 我在 InitGoogleTest 方法之前使用了 testing GTEST FLAGS output xml filenam
  • Sailsjs 套接字 IO

    我是 SailsJs 和 Socket IO 的新手 我想在 Sailsjs 中执行下面的 Socket IO 示例 在服务器端 我需要执行以下代码 但我不知道该代码放在哪里 var io require socket io listen
  • 我已抑制 knit 输出中的警告,但警告并未按预期显示在 Rmarkdown 控制台中。我该如何看待这些?

    我正在使用 Knit 和 rmarkdown 我在 pdf 输出中抑制了警告 然后通常警告会在 rmarkdown 控制台中列出 然而 在一份特定报告的情况下 我没有得到 rmarkdown 控制台中列出的警告 而是收到以下消息 有 15
  • 具有紧轴和匹配纵横比的散景图像图

    我在 Django 应用程序中使用 bokeh 1 0 1 版本 我想将微观表面图像显示为具有颜色编码高度和颜色条的可缩放图像图 原则上这是可行的 但我在获取具有正确纵横比的绘图时遇到问题 仅显示图像而周围没有空间 这是我想要实现的示例 结
  • 什么是服务总线?我什么时候需要服务总线?

    我听说过关于N服务总线 http particular net nservicebus 但我还没有真正理解它是什么 他们声称自己是 最流行的 net 开源服务总线 什么是服务总线 我什么时候需要服务总线 您可以将服务总线视为 SOA 面向服
  • 通过虚拟地址刷新/无效范围; ARMv8;缓存;

    我正在为 32 位模式下运行的 ARMv8 Cortex A53 实现缓存维护功能 当我尝试使用虚拟地址 VA 刷新内存区域时出现问题 DCacheFlushByRange看起来像这样 some init kDCacheL1 0 kDCac
  • 如何更新 PostgreSQL 中的大量行?

    我需要更新表中的数千行 例如 我有 1000 行 id 为 1 2 1000 mytable id value1 value2 1 Null Null 2 Null Null 1000 Null Null 现在我需要更改前 10 行 我可以
  • PHP数据库不会保存数据

    我有从视频教程系列中获得的以下代码 我听说下面的代码的某些部分被认为是不好的做法 我一直试图让它保存我的注册信息 但它不起作用 它可以很好地检测填写表单时的错误 它还显示 请登录以开始 当我正确提交所有内容时 但它不会将任何数据保存到数据库
  • XAML 解析异常:属性 {StaticResource PhoneAccentBrush} 值超出范围

    我遇到异常问题 找不到如何修复它的答案 属性 StaticResource PhoneAccentBrush 值超出范围 System Windows Application LoadComponent this new System Ur
  • 具有可选参数的 ViewComponent

    我正在创建一组代表不同视图上的过滤器的视图组件 到目前为止 它们工作得很好 但我不明白我所经历的这种行为 如果我使用声明两个 InvokeAsync public async Task
  • 我如何从 Rational(或任何没有构造函数的类)继承?

    我可以很容易地继承 比如说 String例如 像这样 class MyString lt String def stuff self and stuff end end This works MyString new things stuf
  • 想要执行sp_send_dbmail并以excel格式发送结果

    我想执行 sp send dbmail 并以 Excel 格式通过电子邮件发送结果 我尝试过 csv 和 txt 但结果没有组织在整齐的列中 这是我的代码 EXEC msdb dbo sp send dbmail profile name
  • 当 Toolkit.getDefaultToolkit() 抛出 AWTError 时,如何在 Java 中读取图像?

    我正在使用 Java 读取图像文件 java awt Image img Toolkit getDefaultToolkit createImage filePath 在某些系统上这不起作用 它会抛出一个 AWTError 抱怨 sun a
  • Powershell、EWS、OAuth2 和自动化

    我正在尝试查找有关如何使用 PowerShell 对 EWS 实施非交互式 Oauth2 身份验证的文档 但我可能没有使用正确的搜索词 因为我找不到任何有用的内容 我在 OAuth2 上找到的 Microsoft 文档只有 C 文档 那么
  • 为什么不能使用同一个 Span 对象来 setSpan 两次?

    为什么不能使用同一个 Span 对象来 setSpan 两次 SpannableString ss new SpannableString aaaaa 1 bbbb 1 cccc 1 我需要用图像替换所有 1 如果我使用以下代码 则只有最后
  • 使用 Airflow 执行频繁任务

    我们使用 Airflow 一段时间了 它非常棒 现在我们正在考虑将一些非常频繁的任务也转移到我们的气流服务器中 假设我每秒运行一个脚本 使用气流安排它的最佳实践是什么 在每秒计划的 DAG 中运行此脚本 我非常怀疑这是否是解决方案 DAGR
  • 更新页面以使用 Greasemonkey 添加新链接

    大多数时候 JScript 都让我头疼 但设计糟糕的网站更让我头疼 Foursquare 的超级用户就是这样的一个例子 期望的结果 一个 Greasemonkey 脚本 它将检查 DIV 类的每次出现搜索结果 以及 DIV 类之后name附
  • WindowsFormsHost 中的 ILScene

    我正在尝试在 WPF 中的 WindowsFormsHost 控件中托管 ILPanel 这是我的代码 XAML