天道酬勤,学无止境

带有 Helix 工具包的 WPF,带有代码隐藏的动画?(WPF with Helix toolkit, animate with code-behind?)

问题

我是 WPF 的新手,正在尝试使用螺旋工具包构建 3d 视口。 视口、网格等按预期显示,我添加了一个简单的管。 现在,我想使用一个新函数根据用户输入更新管的变换,但我无法让它工作。

我哪里出错了?

谢谢你。

.xaml

  <UserControl x:Class="WPFUserControl.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:HelixToolkit="clr-namespace:HelixToolkit.Wpf;assembly=HelixToolkit.Wpf" 
             mc:Ignorable="d"
             d:DesignHeight="480" d:DesignWidth="640">
    <Grid>
        <!-- The HelixViewport3D supports camera manipulation, and can be used just like the Viewport3D -->
        <HelixToolkit:HelixViewport3D ZoomExtentsWhenLoaded="True" Name="MainViewPort">

            <HelixToolkit:SunLight/>

            <ModelVisual3D Content="{Binding Model}"/>

            <HelixToolkit:GridLinesVisual3D Width="40" Length="40" MinorDistance="1" MajorDistance="1" Thickness="0.01"/>

        </HelixToolkit:HelixViewport3D>
    </Grid>
</UserControl>

.xaml.cs

using HelixToolkit.Wpf;

namespace WPFUserControl
{
    /// <summary>
    /// Interaction logic for UserControl1.xaml
    /// </summary>
    public partial class UserControl1 : UserControl
    {
        public TubeVisual3D tube1 = new TubeVisual3D();

        public UserControl1()
        {

            InitializeComponent();
            DataContext = this;
            Setup();

        }


        public void SetTranslation(double xx) //this is called from an external app.
        {

             Console.Write(xx); //This prints as expected.

            //TranslateTransform3D Trans = new TranslateTransform3D(new Vector3D(xx, 0, 0));     
          //  tube1.Transform = Trans;  //this does not work.

        }

        public void Setup()
        {             
            int tubeDiameter = 5;
            tube1.Path = new Point3DCollection();
            tube1.Path.Add(new Point3D(-15, 0, 0));
            tube1.Path.Add(new Point3D(15, 0, 0));
            tube1.Diameter = tubeDiameter;
            tube1.Fill = Brushes.Red;
            tube1.IsPathClosed = false;

            MainViewPort.Children.Add(tube1);

        }

    }
}

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 如何使用 Helix Toolkit 在 WPF 中导入 3D 模型?(How to import a 3D model in WPF using Helix Toolkit?)
    问题 我正在尝试使用 Helix Toolkit 导入 3D 模型。我不知道该怎么做。 是否有任何关于使用此工具包导入 3D 模型的在线指南,或者是否有除 Helix 之外的另一种更简单的方法来导入 3D 模型。 问候 这是我的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System; using System.IO; using System.Windows.Media.Media3D; namespace WpfApplication1 { /// <summary> /// Interaction logic
  • WPF中的线框渲染(Wireframe rendering in WPF)
    问题 我必须在一个可以做很多事情的大型 WPF 应用程序中编写一个线框 3D 渲染器,但 WPF 没有执行此操作的本机能力。 有些人使用 Microsoft 的“3D Tools for WPF”,特别是它的 ScreenSpaceLines3D 类。 但是在网络上有关于该类性能缓慢和各种错误的抱怨,并且该类库似乎自 2007 年以来就没有维护过! 其他人建议使用 Helix 3D 工具包中的 LinesVisual3D 类,但显然这也有问题(http://helixtoolkit.codeplex.com/workitem/9957) Charles Petzold 有一个 3D 库——有人知道它相当健壮吗? 那么我在这里有什么好的选择吗? 例如,有没有在 WPF 窗口中执行 OpenGL3D 的好方法? 是否有其他好的 WPF 库可以可靠地做到这一点? 提前致谢。 回答1 查看 SlimDX。 XNA 和 Managed DirectX 等已弃用或过时。 可能还检查 SharpDX 我有一段时间没有检查它了。 我们在 .NET 中将 SlimDX 用于 DirectX,它很好。 您可能正在做的是使用 SlimDX 在 D3DImage 上呈现 WPF 互操作。 另一种可能的选择是使用托管的 WinForms 控件并使用它的句柄与 DirectX 和 SlimDX 进行互操作
  • 如何使用 Helix 工具包绘制 3D 彩色点(How to plot 3D colored points with Helix toolkit)
    问题 我使用 Helix 工具包创建了一个简单的 3D 查看器。 我想绘制彩色的 3D 点。 我提到了包含在Example文件夹 ( HelixToolkit.Wpf.SharpDX ) 中的示例项目“SimpleDemo”。 这是我的 XAML: <hx:PointGeometryModel3D x:Name="points" Geometry="{Binding Points}" Transform="{Binding Model1Transform}" Color="{x:Static sdx:Color.White}" /> 绘图核心在下面。 var points = new PointGeometry3D(); var col = new Color4Collection(); var ptPos = new Vector3Collection(); var ptIdx = new IntCollection(); for(int y = 0; y < height; y++) { for(int x = 0; x < width; x++) { if(depth[y * width + x] < 1000 && depth[y * width + x] > 0) { ptIdx.Add(ptPos.Count); ptPos.Add(new Vector3(x
  • How to import a 3D model in WPF using Helix Toolkit?
    I am trying to import a 3D model using Helix Toolkit.i can't figure out how to do it. Is there any online guide about importing a 3D model using this Toolkit or if there is another easier way to import a 3D model except Helix. Regards This is my Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows
  • WPF with Helix toolkit, animate with code-behind?
    I am new to WPF, and am trying to build a 3d viewport with helix toolkit. The viewport, grid etc show up as expected, And I add a simple tube. Now, i want to use a new function to update the Transform of the tube, based on user input, but I cannot get it to work. Where am i going wrong here? Thank you. .xaml <UserControl x:Class="WPFUserControl.UserControl1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com
  • 在WPF中显示3D模型(Displaying 3D models in WPF)
    问题 我想在WPF应用程序中显示3D模型(该模型是在外部工具(如Blender)中准备的)。 最佳做法是什么? 有什么工具可以促进这一点吗? 旋转/变换性能如何? 回答1 Zam3d是将3D模型转换为Xaml的绝佳工具,但是看来Electric Rain已经不存在了,您可以通过Googling在某处找到副本。 我强烈推荐Petzold的书《 Windows 3D编程》。 在线上还有大量的教程,我会用Google搜索一些现代的教程。 回答2 好问题! 结果答案取决于您的目标。 方法。 您有兴趣将某些.3ds(.obj,..)模型对象放置为场景的固定部分,而无需进行任何交互式转换(移动,缩放等)。 此方法通常用于简单播放(学习WPF3D) 方法。 您正在考虑拥有完整的交互部分,并支持Viewport3D中的所有WPF3D转换。 通常,此方法适用于专业应用程序中的丰富3D场景操作。 解决此任务的工具相对较多,但是没有任何通用的解决方案。 执行此任务有两个麻烦: 工具之间的格式不兼容。 例如,一个工具创建.3ds(.obj,..)模型,但是第二个工具将其转换为.xaml(读取.3ds,.obj,...),则无法理解该模型。 您使用3DMax之类的专业工具准备的模型,...在WPF3D中似乎不太好。 此外,通过兼容的方式(为了进一步适当的WPF表示)更改模型中的材料将非常好。
  • Apache Helix 与 YARN(Apache Helix vs YARN)
    问题 Apache Helix 和 Hadoop YARN (MRv2) 之间有什么区别。 有没有人对这两种技术有经验? 有人可以向我解释 Helix 相对于 YARN 的优缺点,以及为什么 LinkedIn 的人开发了自己的集群管理而不是使用 YARN? 预先感谢托比 回答1 虽然 Helix 和 YARN 都提供管理分布式应用程序的功能,但两者之间存在重要差异。 YARN 主要提供跨机器集群的资源管理功能,同时要求应用程序编写自定义逻辑以与资源管理器协商资源。 另一方面,Helix 提供了一种以声明方式管理分布式应用程序状态的方法,从而使应用程序不必进行自定义实现。 目前,Helix 并没有像 YARN 那样提供资源管理能力。 因此,这两个系统是相当互补的。 作为示例,假设您有一组节点并且您想在它们上启动一些容器。 根据资源利用率在节点之间分配容器启动容器, 监视容器,如果它们死了,则重新启动容器 YARN 提供了执行上述操作的框架/机器。 拥有容器后,您必须实现以下功能: 分区和复制:您需要将任务分配到容器,可能会为每个容器分配多个任务。 为了冗余,您可能选择将任务分配给多个容器。 状态管理:管理任务的状态容错:当容器发生故障时,您可以选择在剩余容器之间重新分配工作或根据 SLA 要求重新启动容器。 集群扩展:您可能会启动新容器来处理工作负载,然后您希望重新分配任务。 节流
  • How to plot 3D colored points with Helix toolkit
    I create a simple 3D viewer with Helix toolkit. I want to plot 3D points which is colored. I referred to the sample project "SimpleDemo" which is contained in the Example folder (HelixToolkit.Wpf.SharpDX). This is my XAML: <hx:PointGeometryModel3D x:Name="points" Geometry="{Binding Points}" Transform="{Binding Model1Transform}" Color="{x:Static sdx:Color.White}" /> And drawing core is below. var points = new PointGeometry3D(); var col = new Color4Collection(); var ptPos = new Vector3Collection(); var ptIdx = new IntCollection(); for(int y = 0; y < height; y++) { for(int x = 0; x < width; x++)
  • 创建像 office 2010 一样的动画闪屏(Creating an animated splash screen like office 2010)
    问题 如何使用 C# 创建类似于 Office 2010 中的动画启动画面? 回答1 这是关于winforms还是wpf的问题? 如果是关于 wpf: 动画启动画面只不过是在加载“主窗口”时显示的 wpf 窗口。 您可以使用 wischi 解释的 Expression Blend 设计此启动窗口。 你也可以看看这个代码项目。 用于创建某种加载动画:A Simple WPF Loading Animation 只需创建一个带有在 xaml 中定义的动画的窗口,并在您的应用程序加载时显示它 -> 动画闪屏。 在 Winforms 中: 您可能必须覆盖表单的绘制方法才能创建动画。 但它仍然显示另一个窗口,其中包含一个动画,而另一个窗口正在加载。 回答2 我建议将WPF用于现代应用程序设计和您的闪屏问题。 Expression Blend 是用于创建动画和 xaml 设计的好工具。 但是您也可以通过编写简单的 xaml 来设计动画 表达式混合教程使用 Expression Blend 的动画:如何创建动画使用 Expression Blend 的动画:如何在事件上启动动画 MSDN 信息动画概览 使用 Winforms 会更加复杂。 整个 GUI 由 CPU 渲染(不支持 GPU),但您可以创建自定义用户控件并覆盖Paint事件并使用 GDI 进行绘图,但这会比使用 wpf 复杂得多。
  • WPF:如何在没有代码隐藏的情况下将事件从ViewModel传递到View? [复制](WPF: how to signal an event from ViewModel to View without code in codebehind? [duplicate])
    问题 这个问题已经在这里有了答案: 当基础Viewmodel指示应该在View触发器上显示WPF EventTrigger时,该如何执行? (4个答案) 6年前关闭。 我有一个非常简单的(我希望:))问题: 在MVVM中,View通常侦听ViewModel属性的更改。 但是,有时我想监听事件,例如,当VM发出信号时,View可以启动动画或关闭窗口。 可以通过使用带NotifyPropertyChanged的bool属性(只有在动画从false变为true时才启动动画)来做到这一点,但是感觉就像是黑客,我更愿意公开事件,因为它在语义上是正确的。 另外,我想在代码隐藏的情况下执行此操作,因为执行viewModel.myEvent += handler将意味着我将手动注销该事件,以允许将视图进行GC-WPF视图已经能够来“弱”地监听属性,而我更希望只在View中以声明方式进行编程。 标准的强事件订阅也很糟糕,因为我需要为一个视图切换多个ViewModel(因为每次创建View都占用过多的CPU时间)。 感谢您的想法(如果有标准的解决方案,则指向msdn的链接就足够了!)! 回答1 一些评论: 您可以使用弱事件模式来确保即使该视图仍附加到视图模型的事件上,也可以对其进行GC处理如果您已经在一个视图中切换了多个VM,那不是连接/分离处理程序的理想场所吗? 根据您的实际情况
  • 可可与微软Qt相比如何?(How does Cocoa compare to Microsoft, Qt?)
    问题 我已经用Qt(仅以编程方式构建的GUI)进行了几个月的开发,现在开始使用Cocoa。 我不得不说,我爱可可。 在Qt中看起来很困难的很多事情对于Cocoa都是容易的。 Obj-C似乎比C ++复杂得多。 可能只有我一个人,所以:你对此有何看法? 与Qt相比,可可粉与WPF(那是正确的框架?)相比如何? Obj-C与C#和C ++相比如何? XCode / Interface Builder与Visual Studio和Qt Creator相比如何? 文档如何比较? 例如,我发现可可的插座/动作比Qt的信号和插槽要有用得多,因为它们似乎涵盖了大多数GUI交互,而我不得不在一半的时间内解决信号/插槽。 (我只是用错了吗?) 同样,XCode的标准模板实际上免费提供给我复制/粘贴,撤消/重做,保存/打开以及许多其他功能,而这些在Qt中是相当复杂的任务。 请仅在您至少具有这些开发环境/框架/语言中的至少两个的实际知识的情况下回答。 回答1 多年来,我一直在与Cocoa / Obj-C合作。 截至2010年,我发现与WPF / NET Framework相比,它具有很大的局限性。 我将列出一些我发现的差异,您可以自己判断。 标记语言 在WPF中进行设计时,会得到非常简单的XML标记,可以使用自己编写的工具轻松进行手工编辑或编辑。 在Cocoa中,我必须使用xib文件
  • 16 个好用的 Code Review 工具
    Code Review 工具自动化了代码审核过程。它们有助于静态代码分析,这对于交付可靠的软件应用程序至关重要。市场上有太多的 Code Review 工具了,以至于为我们的项目选择一个合适的 Code Review 工具都会成为一种挑战。本文精选了 16 个 Code Review 工具,它们都具有最受欢迎的特性和最新的下载链接。该列表既包含了开源工具也包含了商业工具。1. Review AssistantReview Assistant 是 Visual Studio 的一个扩展。它支持 Visual Studio 2019、2017、2015、2013、2012 和 2010。Review Assistant 可以帮助创建审查请求并能在不离开 IDE 的情况下对请求做出响应。它支持 TFS、Subversion、Git、Mercurial 以及 Perforce。Review Assistant 将“代码审查板(Code Review Board)”窗口添加到 IDE 中。该窗口可用于管理用户所有可用的审查。主要特性:灵活的代码审查支持在代码中讨论带有缺陷修复的迭代审查电子邮件通知丰富的集成功能报告和统计该插件可替换 Visual Studio 代码审查功能(Visual Studio Code Review Feature)。下载链接:https://bit.ly
  • 盘点:16 个好用的 Code Review 工具
    Code Review 工具自动化了代码审核过程。它们有助于静态代码分析,这对于交付可靠的软件应用程序至关重要。市场上有太多的 Code Review 工具了,以至于为我们的项目选择一个合适的 Code Review 工具都会成为一种挑战。本文精选了 16 个 Code Review 工具,它们都具有最受欢迎的特性和最新的下载链接。该列表既包含了开源工具也包含了商业工具。1. Review AssistantReview Assistant 是 Visual Studio 的一个扩展。它支持 Visual Studio 2019、2017、2015、2013、2012 和 2010。Review Assistant 可以帮助创建审查请求并能在不离开 IDE 的情况下对请求做出响应。它支持 TFS、Subversion、Git、Mercurial 以及 Perforce。Review Assistant 将“代码审查板(Code Review Board)”窗口添加到 IDE 中。该窗口可用于管理用户所有可用的审查。主要特性:灵活的代码审查支持在代码中讨论带有缺陷修复的迭代审查电子邮件通知丰富的集成功能报告和统计该插件可替换 Visual Studio 代码审查功能(Visual Studio Code Review Feature)下载链接:https://bit.ly
  • 创建新的GUI时,WPF是Windows窗体的首选吗? [关闭](When creating a new GUI, is WPF the preferred choice over Windows Forms? [closed])
    问题 从目前的情况来看,这个问题不适合我们的问答形式。 我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。 如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 已锁定。 该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。 它目前不接受新的答案或互动。 Windows窗体的大多数限制和技巧对大多数程序员来说都是常见的。 但是从.NET 3.0开始,Windows Presentation Foundation也提供了WPF。 据说您可以使用它使“性感的应用程序”更容易,并且使用.NET 3.5 SP1可以大大提高执行速度。 但是另一方面,WPF的许多工作也有所不同。 我不会说这比较困难,但是您必须从头开始学习“一切”。 我的问题:当您必须创建一个新的GUI并且项目没有时间压力时,花这些额外的时间值得吗? 回答1 WPF使您能够做一些令人惊奇的事情,而我喜欢它……但是,每当开发人员问我是否认为他们应该转向新技术时,我总是有义务限制我的建议。 您的开发人员是否愿意(最好是EAGER)花费时间学习有效使用WPF? 我从没想过要对MFC,Windows Forms甚至是不受管理的DirectX这么说,但是您可能不希望团队在正常开发过程中尝试“挑选” WPF。 循环运输产品!
  • 音视频系列2:基本知识
    1. 存储格式 1.1 WAV、WMV、WMA、ASF、MMS、AVI:微软全家桶 微软的东西,windows用户经常能见到。 首先是wav音频文件。WAV是微软开发的一种声音文件格式,它实际是采用RIFF文件规范存储的,WAV是文件的扩展名,内中音频的格式通常是PCM,也可以存储一些压缩过的数据;然后是名为WMA的音频编码格式,能够以较MP3少1/3~1/2的码率存储相似音质的音频,通常后缀名为“.wma”。 wmv/asf是一系列由微软开发的视频编码格式和文件格式。其中WMV version 9因为被许多地方选用而以VC-1编码格式之名为人熟知,微软为此专门开发了一种名为ASF的文件格式来存储,但后缀名既可能为“.asf”,也可能为“.wmv”。 nms流媒体协议:微软在同时代还曾开发过名为MMS的流媒体协议,基于UDP或TCP进行传输,后升级为MS-WMSP协议(又称WMT,即Windows Media HTTP Streaming Protocol),可以使用HTTP传输。 AVI全称Audio Video Interleaved,是微软在很早便推出的多媒体文件格式,但因其良好的适应性,仍然被广泛使用。AVI可以支持非常广泛的音视频编码格式,包括较新的H.264、HE-AAC等。AVI由RIFF格式衍生,它的文件结构分为头部、主题和索引三部分,描述信息通常放在INFO
  • XAML或C#代码隐藏(XAML or C# code-behind)
    问题 我不喜欢使用XAML。 我更喜欢用C#编写所有代码,但我认为我做错了事。 在哪种情况下,最好使用XAML,何时使用C#? 您的经验是什么? 回答1 用C#创建整个窗口可能是一堆代码。 关于WPF的最好之处是XAML允许您将设计与逻辑分离,从而使代码更易于阅读。 当我需要创建动态控件时,我将使用C#,但是我倾向于将一般设计,静态情节提要,样式,数据模板等保留在XAML中。 回答2 在WPF中的MVVM上观看此视频。 如果您想了解如何组织WPF应用程序,而不是XAML,背后的代码和其他抽象概念,那么这是一个很好的起点。 回答3 使用XAML当然可以走得太远。 那些想要在XAML中定义其整个用户界面(包括逻辑,事件处理关系等)的人可能会忽略这一点。 XAML的目的是提供一种确定事物外观的通用格式。 它仅是关于如何布置事物,如何视觉着色和样式化的描述。 尝试使用它来替代C#的其他方面确实没有什么意义,因为C#在编程功能方面具有永久的领先优势-重用(定义类型和函数),引用变量,过程编程以及甚至是声明性或功能性样式。 我个人非常喜欢将带有Linq表达式的UI组合在一起! 我看到的一个示例达到了最终的荒谬,我看到他们使用工作流操作作为提供Click处理程序的按钮的子项,因此整个程序都在XAML中。 听起来很“酷”,但问题是它比等效的C#或VB.NET程序丑陋得多,而且可读性差,因此
  • 如何在 WPF 中为图像内容设置动画?(How do I animate image content in WPF?)
    问题 我有一个非常基本的用户控件,带有一个带有图像的按钮。 我想通过将按钮的图像更改为不同的图像来为按钮的图像设置动画。 <UserControl.Resources> <Image x:Key="GlyphDefault" Source="pack://application:,,,/X;component/images/Glyphs_Default.png" Height="8" Width="8" /> <Image x:Key="GlyphClicked" Source="pack://application:,,,/X;component/images/Glyphs_Click.png" Height="8" Width="8" /> </UserControl.Resources> <Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup Name="MouseStates"> <VisualState Name="MouseHover" > <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="GlyphButton" Storyboard.TargetProperty="Content" Duration="0:0:1
  • 无限的游戏背景(Infinite background for game)
    问题 我正在一个Java项目中模拟一架直升机的飞行。 直升机使用箭头键在屏幕上移动。 我希望直升机能够无限移动,也就是说,当直升机到达框架的边缘时,背景应该朝相反的方向移动以产生无尽的地形效果。 这是我到目前为止的代码: import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.net.URL; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.*; public class MainFrame extends JFrame { private static int FRAME_WIDTH = 800; private static int FRAME_HEIGHT = 500; public MainFrame() { add(new AnotherBackground(FRAME_WIDTH, FRAME_HEIGHT)); setTitle("Helicopter Background Test"); setSize(FRAME_WIDTH,FRAME
  • 创建新的GUI时,WPF是Windows窗体的首选吗? [关闭](When creating a new GUI, is WPF the preferred choice over Windows Forms? [closed])
    问题 从目前的情况来看,这个问题不适合我们的问答形式。 我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。 如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 已锁定。 该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。 它目前不接受新的答案或互动。 Windows窗体的大多数限制和技巧对大多数程序员来说都是常见的。 但是从.NET 3.0开始,Windows Presentation Foundation也提供了WPF。 据说您可以使用它使“性感的应用程序”更容易,并且使用.NET 3.5 SP1可以大大提高执行速度。 但是另一方面,WPF的许多工作也有所不同。 我不会说这比较困难,但是您必须从头开始学习“一切”。 我的问题:当您必须创建一个新的GUI并且项目没有时间压力时,花这些额外的时间值得吗? 回答1 WPF使您能够做一些令人惊奇的事情,而我喜欢它……但是,每当开发人员问我是否认为他们应该转向新技术时,我总是有义务限制我的建议。 您的开发人员是否愿意(最好是EAGER)花费时间学习有效使用WPF? 我从没想过要对MFC,Windows Forms甚至是不受管理的DirectX这么说,但是您可能不希望团队在正常开发过程中尝试“挑选” WPF。 循环运输产品!
  • WPF图表控件(WPF chart controls [closed])
    问题 关闭。 这个问题是题外话。 它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我正在寻找一个非常简单的WPF图表,该图表应该具有2D图形并且应该具有平移和缩放功能。 回答1 支持平移/缩放的免费工具: 实时图表斯科特图 DynamicDataDisplay-一个不错的开源数据可视化库。 不幸的是,自2009年4月30日以来未进行过更新。 氧化图 没有内置平移/缩放支持的免费工具: WPF工具包。 支持最重要的2D图表,您必须自己实现平移/缩放。 WPF工具包开发版本。 支持堆叠图表,等效于Silverlight版本。 内置平移/缩放支持的付费工具: Visiblox图表(已停产)。 缩放和平移功能支持最重要的2D图表。 免费版带有水印。 (有关使用缩放/平移的信息,请参见此博客文章) SciChart WPF。 支持DirectX加速的2D和3D图表,具有缩放和平移,鼠标滚轮以及缩放动画。 (有关在多个图表上使用缩放/平移的信息,请参阅此博客文章) 基础设施xamDataChart。 支持最重要的2D图表,缩放和平移。 请参阅此博客文章,了解如何使用缩放。 Telerik RadChart。 支持许多2D图表,对缩放和平移有一些支持,您可能需要做一些工作。 Visifire。