你好 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 属性。
任何的想法?