2016-09-27 1 views
0

Bonjour communauté SO: o)Telerik RadGridView + style + RadDataPager = ne peut pas trouver la source pour la liaison IsPinned

Tout d'abord, je suis désolé pour mon anglais, je sais que ce n'est pas parfait, mais je casse mon dos l'améliorer. :)

Je travaille actuellement avec le framework telerik dans WPF.

Voici le code (je devais changer mon nom de variables)

<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" /> 

L'erreur:

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') 

La grille, le téléavertisseur et les données sont bien affichées avec la bonne couleur, excepte que j'ai cette erreur dans ma sortie VS.

Plus d'informations sur l'utilisation de ce code.

Ce code est utilisé à l'intérieur d'un UserControl, ce userControl est enveloppé dans un RadPane puis injecté dans un RadPaneGroup.

Pourquoi est-ce que je fais cela? Parce que je suis en utilisant un prisme pour injecter mes modules à la volée dans le mainRegion comme RadPane

L'erreur occure que lorsque je me déplace le volet extérieur de la RadPaneGroup

Il est comme je l'ai foiré avec le RadGridView styleRow.

Comme vous pouvez le voir, je n'utilise pas directement la propriété IsPinned.

Une idée? J'ai posé la même question sur les forums Telerik

+0

Cette erreur particulière est très commune pour les contrôles WPF de telerik, je l'ai vu de nombreuses fois pour différents contrôles, pas seulement pager. Je suggère de demander leur soutien à ce sujet, ou tout simplement écrire sur leur forum. – Evk

+0

Je viens de le faire :) http://www.telerik.com/forums/telerik-radgridview-style-raddatapager-=-cannot-find-source-for-binding-ispinned#Fy0uMHy3cEmSz9FGtdUv5Q – pix

Répondre

0

la réponse courte est: définissez votre GroupRenderMode de RadGridView à plat

Plus de détails:

La question journalisé cet un bug WPF UI Telerik.

Pour obtenir plus d'informations et le code sur ce bogue et comment reproduice il suivre ce lien: Telerik Forum Binding error thread

Pour suivre le rapport de bogue: Bug report

La réponse faite par emploi de telerik est:

I was able to successfully reproduce the error at my end and have thus logged a new bug report in our feedback portal to which you can subscribe in order to get notified about any changes in its status. As a gratitude for your help, I've awarded you with some Telerik points.

For the time being, you can set your RadGridView's GroupRenderMode to Flat in order to avoid these binding errors.

Regards, Dilyan Traykov Telerik by Progress