Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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# 无法对Telerik中的其他Y轴使用绑定_C#_Wpf_Telerik - Fatal编程技术网

C# 无法对Telerik中的其他Y轴使用绑定

C# 无法对Telerik中的其他Y轴使用绑定,c#,wpf,telerik,C#,Wpf,Telerik,我在WPF中使用Telerik的RadChart,当我想为额外的Y轴指定MaxValue、MinValue和Step时,我遇到了一个问题 如果我像这样硬编码这些值(相关部分是最后四行),效果很好: 我以为我在某个地方犯了一个错误,搜索了几个小时,但我发现了一些奇怪的事情:如果我在“原始”Y轴上使用这些绑定,一切都会完美地工作。两个轴的代码完全相同。唯一的区别在于父元素 这项工作: <Controls:ChartArea.AxisY> <Controls:AxisY Mi

我在WPF中使用Telerik的RadChart,当我想为额外的Y轴指定MaxValue、MinValue和Step时,我遇到了一个问题

如果我像这样硬编码这些值(相关部分是最后四行),效果很好:

我以为我在某个地方犯了一个错误,搜索了几个小时,但我发现了一些奇怪的事情:如果我在“原始”Y轴上使用这些绑定,一切都会完美地工作。两个轴的代码完全相同。唯一的区别在于父元素

这项工作:

<Controls:ChartArea.AxisY>
    <Controls:AxisY MinorTicksVisibility="Hidden" 
                    DefaultLabelFormat="#VAL{#,##0}" 
                    Title="{UI:Language @{GigaJoulePerHourSymbol}}" 
                    MajorGridLinesVisibility="Hidden" 
                    StripLinesVisibility="Visible" 
                    AutoRange="False" 
                    MaxValue="{Binding Path=MyMaxValue}" 
                    MinValue="{Binding Path=MyMinValue}" 
                    Step="{Binding Path=MyStep}">
        <Controls:AxisY.AxisStyles>
            <Controls:AxisStyles TitleStyle="{StaticResource TranslatedAxisStyle}" />
        </Controls:AxisY.AxisStyles>
    </Controls:AxisY>
</Controls:ChartArea.AxisY>

这并不是:

<Controls:ChartArea.AdditionalYAxes>
    <Controls:AxisY MinorTicksVisibility="Hidden" 
                    DefaultLabelFormat="#VAL{#,##0}" 
                    Title="{UI:Language @{xCubicMetrePerHourSymbol}}" 
                    MajorGridLinesVisibility="Hidden" 
                    StripLinesVisibility="Visible"
                    AxisName="CubicMetrePerHourAxis"  
                    AutoRange="False" 
                    MaxValue="{Binding Path=MyMaxValue}" 
                    MinValue="{Binding Path=MyMinValue}" 
                    Step="{Binding Path=MyStep}">
        <Controls:AxisY.AxisStyles>
            <Controls:AxisStyles TitleStyle="{StaticResource TranslatedAxisStyle}" />
        </Controls:AxisY.AxisStyles>
    </Controls:AxisY>
</Controls:ChartArea.AdditionalYAxes>

元素本身是完全相同的,除了第二个元素有一个名称和标题不同,但是我测试了它,它实际上并不影响任何东西。唯一的区别是父元素不同


我想知道为什么AxisY可以看到DataContext并可以正确绑定,而AdditionalYAxis不能。

由于
AdditionalYAxis
可能不在中,它将不会继承其逻辑树父级的
DataContext
。这就解释了为什么绑定不能正常工作。您可以使用一种类似于所概述的(“数据上下文间谍”)的解决方法来使绑定正常工作。

可能(我猜)是因为
AdditionalYAxes
不在可视化树中。看看你是否可以应用其中一个标准的解决方法,例如:@McGarnagle It works!非常感谢,我永远不会知道怎么做。如果你想让我接受,就把这个作为答案贴出来。
System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or 
FrameworkContentElement for target element. BindingExpression:Path=MyMaxValue;   
DataItem=null; target element is 'AxisY' (HashCode=47300984); target property is 
'MaxValue' (type 'Double')
<Controls:ChartArea.AxisY>
    <Controls:AxisY MinorTicksVisibility="Hidden" 
                    DefaultLabelFormat="#VAL{#,##0}" 
                    Title="{UI:Language @{GigaJoulePerHourSymbol}}" 
                    MajorGridLinesVisibility="Hidden" 
                    StripLinesVisibility="Visible" 
                    AutoRange="False" 
                    MaxValue="{Binding Path=MyMaxValue}" 
                    MinValue="{Binding Path=MyMinValue}" 
                    Step="{Binding Path=MyStep}">
        <Controls:AxisY.AxisStyles>
            <Controls:AxisStyles TitleStyle="{StaticResource TranslatedAxisStyle}" />
        </Controls:AxisY.AxisStyles>
    </Controls:AxisY>
</Controls:ChartArea.AxisY>
<Controls:ChartArea.AdditionalYAxes>
    <Controls:AxisY MinorTicksVisibility="Hidden" 
                    DefaultLabelFormat="#VAL{#,##0}" 
                    Title="{UI:Language @{xCubicMetrePerHourSymbol}}" 
                    MajorGridLinesVisibility="Hidden" 
                    StripLinesVisibility="Visible"
                    AxisName="CubicMetrePerHourAxis"  
                    AutoRange="False" 
                    MaxValue="{Binding Path=MyMaxValue}" 
                    MinValue="{Binding Path=MyMinValue}" 
                    Step="{Binding Path=MyStep}">
        <Controls:AxisY.AxisStyles>
            <Controls:AxisStyles TitleStyle="{StaticResource TranslatedAxisStyle}" />
        </Controls:AxisY.AxisStyles>
    </Controls:AxisY>
</Controls:ChartArea.AdditionalYAxes>