Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获得;准备好了吗;呈现WPF工具箱图表后的信号_C#_Wpf_Charts_Wpftoolkit - Fatal编程技术网

C# 获得;准备好了吗;呈现WPF工具箱图表后的信号

C# 获得;准备好了吗;呈现WPF工具箱图表后的信号,c#,wpf,charts,wpftoolkit,C#,Wpf,Charts,Wpftoolkit,我正在使用WPF工具包中的图表工具。 在创建了一张图表之后,我希望能有一张该图表的快照,而不必可视化该图表。我的问题是,我不知道渲染过程何时完成,因此我可以创建快照。 我试着听“LayoutUpdated”事件,但是图表经常被更新 谁能告诉我如何确定图表是否完全呈现?您可以在代码隐藏中使用Dispatcher: this.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() => { // c

我正在使用WPF工具包中的图表工具。 在创建了一张图表之后,我希望能有一张该图表的快照,而不必可视化该图表。我的问题是,我不知道渲染过程何时完成,因此我可以创建快照。 我试着听“LayoutUpdated”事件,但是图表经常被更新


谁能告诉我如何确定图表是否完全呈现?

您可以在代码隐藏中使用Dispatcher:

this.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() =>
    {
        // code in here should be executed after chart has been rendered.
    }
));

您可以在代码隐藏中使用Dispatcher:

this.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() =>
    {
        // code in here should be executed after chart has been rendered.
    }
));

加载的事件听起来像是您需要的

MyChart.Loaded += (sender, e) =>
{
    // chart has been loaded but not yet rendered
}
其中“MyChart”是在XAML中指定的图表名称


我不确定这对频繁更新的效果如何,但此链接似乎表明这就是您正在寻找的内容。

加载的事件听起来像是您需要的

MyChart.Loaded += (sender, e) =>
{
    // chart has been loaded but not yet rendered
}
其中“MyChart”是在XAML中指定的图表名称


我不确定这对频繁更新的效果如何,但此链接似乎表明这就是您要查找的内容。

能否在base.render()或等效项完成后继承图表、覆盖渲染并调用自定义事件?只有OnRender可以覆盖。但是处理程序是在图表初始化后调用的,而不是在内容更改后调用的。@flashflail,你解决了吗?我遇到了完全相同的问题…能否在base.render()或等效项完成后继承图表、覆盖渲染并调用自定义事件?只有OnRender可以覆盖。但是处理程序是在图表初始化后调用的,而不是在内容更改后调用的。@flashflail,你解决了吗?我也有同样的问题…对我不起作用。BeginInvoke中的代码在呈现图表之前执行。我还尝试了DispatcherPriority.SystemIdle,也不起作用。不,对我也不起作用。我原以为会的,但我下载了工具箱图表并尝试了一下,瞧,这个方法是在图表呈现之前执行的。但它对其他控件也有效,我认为它不起作用的原因是图表使用的动画。如果有任何方法可以使这些功能失效,你可能会更幸运。不适合我。BeginInvoke中的代码在呈现图表之前执行。我还尝试了DispatcherPriority.SystemIdle,也不起作用。不,对我也不起作用。我原以为会的,但我下载了工具箱图表并尝试了一下,瞧,这个方法是在图表呈现之前执行的。但它对其他控件也有效,我认为它不起作用的原因是图表使用的动画。如果有任何方法可以使这些功能失效,你可能会更幸运。谢谢你的回复。我为加载的事件附加了一个事件处理程序,但它从未被触发。原因可能是图表没有可视化吗?谢谢你的回答。我为加载的事件附加了一个事件处理程序,但它从未被触发。原因可能是图表没有可视化吗?