【问题标题】:Telerik RadGridView + Style + RadDataPager = Cannot find source for binding IsPinnedTelerik RadGridView + Style + RadDataPager = 找不到绑定 IsPinned 的源
【发布时间】:2016-09-27 12:53:38
【问题描述】:

你好 SO 社区 :o)

首先,对不起我的英语,我知道这并不完美,但我努力改进它。 :)

我目前正在使用 WPF 中的 Telerik 框架。

这是代码(我不得不更改我的变量名称)

 <telerik:RadGridView Name="GridName" IsPropertyChangedAggregationEnabled="True" EnableColumnGroupsVirtualization="True" EnableColumnVirtualization="True" ItemsSource="{Binding PagedSource, ElementName=PagerName}" AutoGenerateColumns="False" IsBusy="{Binding IsLoading}" SelectedItem="{Binding SelectedIsinFromGrid}" Grid.Row="0">
                <telerik:RadGridView.Resources>
                    <Style TargetType="{x:Type telerik:GridViewRow}" BasedOn="{StaticResource {x:Type telerik:GridViewRow}}" >
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding Status}" Value="ACTIVE">
                                <Setter Property="Background" Value="{StaticResource GreenRessourceColor}" />
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Status}" Value="DISABLE">
                                <Setter Property="Background" Value="{StaticResource RedRessourceColor}" />
                            </DataTrigger>
                            <DataTrigger Binding="{Binding Status}" Value="UNKNOW">
                                <Setter Property="Background" Value="{StaticResource YellowRessourceColor}" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </telerik:RadGridView.Resources>
                <telerik:RadGridView.Columns>
                    <telerik:GridViewDataColumn Header="Header1" DataMemberBinding="{Binding Item1}" />
                    <telerik:GridViewDataColumn Header="Header2" DataMemberBinding="{Binding Item2}"/>
                    <telerik:GridViewDataColumn Header="Header3" DataMemberBinding="{Binding Item3}"/>
                    <telerik:GridViewDataColumn Header="Header4" DataMemberBinding="{Binding Status}"/>
                </telerik:RadGridView.Columns>
            </telerik:RadGridView>
            <telerik:RadDataPager Name="PagerName" Style="{StaticResource CustomDataPagerStyle}" Grid.Row="1" Source="{Binding ItemsListToDisplay}" PageSize="100" IsTotalItemCountFixed="False" />

错误:

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='Telerik.Windows.Controls.GridView.GridViewRow', AncestorLevel='1''. BindingExpression:Path=IsPinned; DataItem=null; target element is 'GridViewPinButton' (Name=''); target property is 'IsPinned' (type 'Boolean')

网格、分页器和数据以正确的颜色很好地显示,除了我的 VS 输出中有这个错误。

有关此代码用法的更多信息。

此代码在 UserControl 中使用,此 userControl 包装在 RadPane 中,然后注入到 RadPaneGroup 中。

我为什么要这样做?因为我使用 prism 将我的模块作为 RadPane 动态注入到 mainRegion 中

仅当我将窗格移动到 RadPaneGroup 之外时才会发生错误

这就像我搞砸了 RadGridView styleRow。

如您所见,我没有直接使用 IsPinned 属性。

有什么想法吗?

【问题讨论】:

  • 这个特殊的错误对于 Telerik 的 WPF 控件非常常见,我在不同的控件中多次看到它,而不仅仅是寻呼机。我建议询问他们对此的支持,或者只是在他们的论坛上写。
  • 我刚刚做到了 :) telerik.com/forums/…

标签: c# wpf telerik radgridview raddatapager


【解决方案1】:

我在 Telerik 论坛上问过同样的问题。

简短的回答是:将 RadGridView 的 GroupRenderMode 设置为 Flat

更多细节:

将此问题记录为 Telerik UI WPF 错误。

要获取有关此错误的更多信息和代码以及如何重现它,请点击此链接:Telerik Forum Binding error thread

关注错误报告:Bug report

telerik雇的回答是:

我能够在最后成功重现该错误,因此在我们的反馈门户中记录了一个新的错误报告,您可以订阅该报告以获得有关其状态任何更改的通知。为了感谢您的帮助,我奖励了您一些 Telerik 积分。

暂时,您可以将 RadGridView 的 GroupRenderMode 设置为 Flat 以避免这些绑定错误。

问候, 迪利安·特雷科夫 Telerik 按进度

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    相关资源
    最近更新 更多