Telerik RadGridView + Style + RadDataPager = Не удается найти источник для привязки IsPinned
Привет ТАК сообщество: о)
Прежде всего, я прошу прощения за мой английский, я знаю, что это не идеально, но я ломаю спину, чтобы улучшить его.:)
В настоящее время я работаю с Telerik Framework в WPF.
Вот код (мне пришлось изменить имя моей переменной)
<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.
Почему я это делаю? Потому что я использую призму для ввода своих модулей на лету в mainRegion как RadPane
Ошибка возникает только когда я перемещаю панель за пределы RadPaneGroup
Это как я перепутал с RadGridView styleRow.
Как видите, я не использую напрямую свойство IsPinned.
Любая идея?
1 ответ
Я задавал тот же вопрос на форумах Telerik.
краткий ответ: установите для GroupRenderMode вашего RadGridView значение Flat
Больше деталей:
Этот вопрос вошел в систему как ошибка Telerik UI WPF.
Чтобы получить больше информации и кода об этой ошибке и о том, как ее воспроизвести, перейдите по этой ссылке: Telerik Forum Binding error thread
Чтобы следить за сообщением об ошибке: Сообщение об ошибке
Ответ Telerik Employee:
Я смог успешно воспроизвести ошибку с моей стороны и, таким образом, зарегистрировал новый отчет об ошибках на нашем портале отзывов, на который вы можете подписаться, чтобы получать уведомления о любых изменениях в его статусе. В качестве благодарности за вашу помощь я наградил вас несколькими баллами Telerik.
В настоящее время вы можете установить для GroupRenderMode вашего RadGridView значение Flat, чтобы избежать этих ошибок привязки.
С уважением, Дилян Трайков Telerik by Progress