标签: radchart

可视树外的数据绑定.数据上下文桥接

我试图将动态行为绑定到WPF逻辑和可视树之外的可视元素.

我的问题是RadChart图的颜色是在(准路径)中给出的:RadChart.SeriesMapping.LineSeriesDefinition.Appearance.Stroke

我原本想将它绑定到XAML中图表datacontext的属性.天真地,我刚刚写了一个普通的{Binding PlotBrush}

编译器返回"找不到Governing FrameWorkelement"错误.在阅读之后,我认为这意味着在层次结构中解析datacontext不起作用.因为它的祖先(XAML说话)具有除Fra​​meWorkElement之外的其他类型和其他关系,而不是内容控件的内容.至少,这是我目前对它的理解.请指正.

所以,我找到了"DataContext Bridge" http://www.codeproject.com/KB/WPF/AttachingVirtualBranches.aspx

简单地说,它说你绑定是在分配DataContext的运行时框架元件(未任何那些继承了它)的DataContext属性一个的DataContext的资源范围内FrameworkElement的实例.然后使用相同的资源对象实例绑定到您希望"附加"到DataContext继承动态的"分支"的datacontext属性.但该文章的作者很幸运能够实现被观察财产的验证用户.SolidColorBrush是密封的,我想即使使用装饰器也可以实现一个完整的画笔.

就我而言,这并没有帮助我做我想做的事情,但我"非常接近".所以我想知道是否有某些方面的XAML技巧可以帮助我.

<Window.Resources>
    <local:FrameWorkElement x:Key="DataContextBridge"/>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

但是,目前还不清楚我是如何利用它的.没有应该设置datacontext的对象.AppearanceSettings不是FrameWorkElement.

<telerik:SeriesAppearanceSettings>
   <telerik:SeriesAppearanceSettings.Stroke>
       Ok, how do I use the fact that I can access the datacontext here?                                         
   </telerik:SeriesAppearanceSettings.Stroke>
</telerik:SeriesAppearanceSettings>
Run Code Online (Sandbox Code Playgroud)

所以,下一步是我可以直接以某种方式获得画笔对象.我尝试过这种事情,只是搞乱:

.cs:

public class ObservableBrush : FrameworkElement
{
    public Brush Brush
    {
        get { return (Brush) GetValue(BrushProperty); }
        set { SetValue(BrushProperty, value); }
    }

    public static readonly DependencyProperty BrushProperty =
        DependencyProperty.Register("Brush", typeof (Brush), typeof (ObservableBrush), new UIPropertyMetadata(new SolidColorBrush(Colors.Black)));
}
Run Code Online (Sandbox Code Playgroud)

XAML的顶部: …

c# data-binding wpf xaml radchart

7
推荐指数
1
解决办法
6489
查看次数

"在IIS7上加载RadChart图像时出错"

我在ASP.NET Web应用程序上使用Telerik RadChart控件.

这在localhost上运行时工作正常,但现在应用程序已部署到IIS7,并出现以下错误:

在此输入图像描述

为什么是这样?我该如何解决这个问题?

我在一些论坛帖子上看到解决方案是<system.webServer>在web.config中添加以下内容:

<add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0"/>

但是,我已经这样做了,错误仍然出现.

asp.net iis-7 telerik radchart asp.net-4.0

6
推荐指数
1
解决办法
5008
查看次数

新的ObservableCollection与在循环中添加项目

在速度和生成的通知量方面,这段代码是:

ObservableCollection<Foo> foo = new ObservableCollection<Foo>(bar);
this.SomeProperty = foo;
Run Code Online (Sandbox Code Playgroud)

同样如下:

this.SomeProperty = new ObservableCollection<Foo>();

foreach (var v in bar) 
{
    this.SomeProperty.Add(v);
}
Run Code Online (Sandbox Code Playgroud)

如果它们相同,是否有可能以某种方式关闭生成的通知?

目标: 我正试图加速在Silverlight中显示Telerik RadChart.即使在设置了包含ObservableCollection的属性之后,似乎还需要一段时间才能显示(并在浏览器应用程序中冻结).绘制图表后,一切正常.

c# silverlight telerik observablecollection radchart

4
推荐指数
1
解决办法
1486
查看次数