telirik radgrid标题textwraping不能在silverlight中工作c#

时间:2017-06-15 06:43:53

标签: telerik

Telerik rad网格标题TextWraping不起作用,但它适用于Silverlight-Ui中除标题之外的所有其他行 image attached .. the TextWraping not working for header row

xaml代码

<Style x:Key="ColumnHeaderGripperStyle" TargetType="Thumb">
                    <Setter Property="Width" Value="8"/>
                    <Setter Property="Background" Value="Transparent" />
                    <Setter Property="BorderBrush" Value="Transparent" />
                    <Setter Property="BorderThickness" Value="0" />
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="VerticalContentAlignment" Value="Stretch" />
                    <Setter Property="Padding" Value="0" />
                    <Setter Property="Cursor" Value="SizeWE"/>



                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="Thumb">
                                <Border Padding="{TemplateBinding Padding}" 
                                        Background="{TemplateBinding Background}" 
                                        BorderBrush="{TemplateBinding BorderBrush}"
                                        BorderThickness="{TemplateBinding BorderThickness}"
                                        HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                        VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>

                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>

                <Style TargetType="ContentControl" x:Key="StretchedContentControl">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                    <Setter Property="VerticalContentAlignment" Value="Stretch"/>
                </Style>

                <ControlTemplate x:Key="GridViewHeaderCellTemplate" TargetType="telerik:GridViewHeaderCell">
                    <Grid x:Name="PART_HeaderCellGrid">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="30"  />

                        </Grid.ColumnDefinitions>

                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualStateGroup.Transitions>
                                    <VisualTransition GeneratedDuration="00:00:00.2000000" To="Normal" />
                                    <VisualTransition GeneratedDuration="00:00:00.2000000" To="MouseOver" />
                                    <VisualTransition GeneratedDuration="0:0:0.2" To="Pressed"/>
                                </VisualStateGroup.Transitions>
                                <VisualState x:Name="Normal" />
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="GridViewHeaderCell_Over" Storyboard.TargetProperty="Opacity">
                                            <EasingDoubleKeyFrame KeyTime="0:0:0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{StaticResource GridView_HeaderForeground_Selected}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Ascending">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{StaticResource GridView_HeaderForeground_Selected}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_SortIndicator" Storyboard.TargetProperty="Opacity">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="GridViewHeaderCell_Selected" Storyboard.TargetProperty="Opacity">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Descending">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{StaticResource GridView_HeaderForeground_Selected}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_SortIndicator" Storyboard.TargetProperty="Opacity">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_SortIndicator" Storyboard.TargetProperty="RenderTransform">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <ScaleTransform ScaleX="1" ScaleY="1" />
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="GridViewHeaderCell_Selected" Storyboard.TargetProperty="Opacity">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>

                        <Border x:Name="GridViewHeaderCell" Grid.ColumnSpan="2" BorderBrush="{TemplateBinding BorderBrush}" 
                                BorderThickness="{TemplateBinding BorderThickness}">
                            <Border BorderBrush="{StaticResource GridView_HeaderInnerBorder}" 
                                    Background="{TemplateBinding Background}" 
                                    BorderThickness="0" Margin="0,0,1,0"/>
                        </Border>
                        <Border x:Name="GridViewHeaderCell_Over" Grid.ColumnSpan="2"
                                BorderBrush="{StaticResource GridView_HeaderOuterBorder_Over}" 
                                BorderThickness="{TemplateBinding BorderThickness}" Opacity="0" >
                            <Border BorderBrush="{StaticResource GridView_HeaderInnerBorder_Over}" 
                                    Background="{StaticResource GridView_HeaderBackground_Over}" 
                                    BorderThickness="0" />
                        </Border>
                        <Border x:Name="GridViewHeaderCell_Selected" Grid.ColumnSpan="2"
                                BorderBrush="{StaticResource GridView_HeaderOuterBorder_Selected}" 
                                BorderThickness="{TemplateBinding BorderThickness}" Opacity="0" >
                            <Border BorderBrush="{StaticResource GridView_HeaderInnerBorder_Selected}" 
                                    Background="{StaticResource GridView_HeaderBackground_Selected}" 
                                    BorderThickness="0" />
                        </Border>

                        <ContentControl x:Name="ContentPresenter" Grid.Column="0" Foreground="{TemplateBinding Foreground}"
                            Style="{StaticResource StretchedContentControl}"
                            Margin="{TemplateBinding Padding}" IsTabStop="{TemplateBinding IsTabStop}"
                            Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                            HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"  />

                        <Path x:Name="PART_SortIndicator" Grid.ColumnSpan="2"
                          Fill="{StaticResource GridView_SortIndicatorColor}" 
                          Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Top"
                          Margin="0,3,0,0"
                          Data="M0,0 L1,0 2,0 3,0 4,0 5,0 5,1 4,1 4,2 3,2 3,3 2,3 2,2 1,2 1,1 0,1 0,0 z"                           
                          Width="5" Height="3"
                          RenderTransformOrigin=".5,.5"
                          Opacity="0">
                            <Path.RenderTransform>
                                <TransformGroup>
                                    <ScaleTransform ScaleX="1" ScaleY="-1"/>
                                    <SkewTransform AngleX="0" AngleY="0"/>
                                    <RotateTransform Angle="0"/>
                                    <TranslateTransform X="0" Y="0"/>
                                </TransformGroup>
                            </Path.RenderTransform>
                        </Path>

                        <telerik:FilteringDropDown x:Name="PART_DistinctFilterControl" Grid.Column="1"
                                    Visibility="{TemplateBinding FilteringUIVisibility}"                                    
                                    Margin="0,0,8,0"/>

                        <Thumb x:Name="PART_LeftHeaderGripper" HorizontalAlignment="Left" IsTabStop="{TemplateBinding IsTabStop}" Style="{StaticResource ColumnHeaderGripperStyle}" Grid.ColumnSpan="2" />
                        <Thumb x:Name="PART_RightHeaderGripper" HorizontalAlignment="Right" IsTabStop="{TemplateBinding IsTabStop}" Style="{StaticResource ColumnHeaderGripperStyle}" Grid.ColumnSpan="2" />

                    </Grid>
                </ControlTemplate>

                <Style TargetType="telerik:GridViewHeaderCell" x:Key="GridViewHeaderCellStyle">
                    <Setter Property="Template" Value="{StaticResource GridViewHeaderCellTemplate}" />
                    <Setter Property="Background" Value="{StaticResource GridView_HeaderBackground}" />
                    <Setter Property="BorderBrush" Value="{StaticResource GridView_HeaderOuterBorder}" />
                    <Setter Property="BorderThickness" Value="0,0,0,0" />
                    <Setter Property="VerticalContentAlignment" Value="Center" />
                    <Setter Property="HorizontalContentAlignment" Value="Left" />
                    <Setter Property="Foreground" Value="{StaticResource GridView_HeaderForeground}" />
                    <Setter Property="FontSize" Value="11" />

                </Style>

                <!-- Header Row Style-->
                <SolidColorBrush x:Key="GridView_HeaderRowInnerBorder" Color="#FFFCFCFC" />
                <LinearGradientBrush x:Key="GridView_HeaderRowBackground" EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FFDCEEFB" Offset="1"/>
                    <GradientStop Color="#FFDCEEFB"/>
                </LinearGradientBrush>
                <SolidColorBrush x:Key="GridView_HeaderRowOuterBorder" Color="#FFC0CBD9" />

                <telerik:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />

                <DataTemplate x:Key="GridViewHeaderIndentCellDataTemplate">
                    <telerik:GridViewHeaderIndentCell  telerik:StyleManager.Theme="{StaticResource Theme}"/>

                </DataTemplate>

                <ControlTemplate x:Key="GridViewHeaderRowTemplate" TargetType="telerik:GridViewHeaderRow">
                    <telerik:SelectiveScrollingGrid>
                        <telerik:SelectiveScrollingGrid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="*" />
                        </telerik:SelectiveScrollingGrid.ColumnDefinitions>


                        <Border x:Name="PART_GridViewHeaderRowBorder" 
                    BorderBrush="{TemplateBinding BorderBrush}" 
                    VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                    HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                    Padding="{TemplateBinding Padding}"
                    Grid.ColumnSpan="4"
                    BorderThickness="{TemplateBinding BorderThickness}">
                            <Border BorderBrush="{StaticResource GridView_HeaderRowInnerBorder}" Background="{TemplateBinding Background}" BorderThickness="0" />
                        </Border>

                        <telerik:DataCellsPresenter x:Name="PART_DataCellsPresenter"
                                     telerik:StyleManager.Theme="{StaticResource Theme}"
                                     Grid.Column="3" />

                        <Border x:Name="PART_IndicatorPresenter"
                        Width="25" 
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="0,0,1,1"
                        Visibility="{TemplateBinding RowIndicatorVisibility}"
                        telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                            <Border BorderBrush="{StaticResource GridView_HeaderInnerBorder}" Background="{StaticResource GridView_HeaderBackground}" BorderThickness="0" />
                        </Border>

                        <telerik:IndentPresenter x:Name="PART_IndentPresenter" Grid.Column="1" MinHeight="{TemplateBinding MinHeight}"
                                  telerik:StyleManager.Theme="{StaticResource Theme}"
                                  IndentLevel="{TemplateBinding IndentLevel}"
                                  ItemTemplate="{StaticResource GridViewHeaderIndentCellDataTemplate}" 
                                  telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" />

                        <Border x:Name="PART_HierarchyIndentPresenter" Grid.Column="2"
                    Width="25" 
                    BorderBrush="{TemplateBinding BorderBrush}"
                    BorderThickness="0,0,1,1"
                    Visibility="{Binding HasHierarchy, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}"
                    telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                            <Border BorderBrush="{StaticResource GridView_HeaderInnerBorder}" Background="{StaticResource GridView_HeaderBackground}" BorderThickness="0" />
                        </Border>

                    </telerik:SelectiveScrollingGrid>
                </ControlTemplate>

                <Style TargetType="telerik:GridViewHeaderRow" x:Key="CustomHeaderRowStyle">
                    <Setter Property="Template" Value="{StaticResource GridViewHeaderRowTemplate}" />
                    <Setter Property="Background" Value="{StaticResource GridView_HeaderRowBackground}" />
                    <Setter Property="BorderBrush" Value="{StaticResource GridView_HeaderRowOuterBorder}" />
                    <Setter Property="BorderThickness" Value="0,0,0,0" />
                    <Setter Property="VerticalContentAlignment" Value="Stretch" />
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="Padding" Value="0" />

                </Style>

            </Grid.Resources>
            <Grid.RowDefinitions>
                <RowDefinition Height="auto"></RowDefinition>
                <RowDefinition Height="*" />
                <RowDefinition Height="auto"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>

                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
  <telerik:RadGridView IsFilteringAllowed="False" AutoGenerateColumns="True" 
                             CanUserFreezeColumns="true" CanUserResizeColumns="True" 
                             ShowGroupPanel="False" FrozenColumnCount="{Binding FrozenColumnCount,Source={StaticResource model}}"                                
                             ClipboardCopyMode="Cells"  ClipboardPasteMode="AllSelectedCells,OverwriteWithEmptyValues,SkipHiddenColumns" 
                             SelectionMode="Extended" SelectionUnit="Mixed"
                             ScrollViewer.HorizontalScrollBarVisibility="Visible" 
                             ScrollViewer.VerticalScrollBarVisibility="Visible"
                             x:Name="RadGridView1" Grid.Column="0" Grid.Row="1"                              
                             HorizontalAlignment="Stretch" 
                             VerticalAlignment="Stretch" 
                             ItemsSource="{Binding Data, Source={StaticResource model}}" 
                             IsBusy="{Binding IsLoading,Source={StaticResource model}}"                                                                                                            
                             CellEditEnded="RadGridView1_CellEditEnded"                                                         
                             CellValidating="RadGridView1_CellValidating" 
                             PastingCellClipboardContent="RadGridView1_PastingCellClipboardContent"                              
                             AutoGeneratingColumn="RadGridView1_AutoGeneratingColumn" CanUserDeleteRows="False"
                             CanUserInsertRows="False" Pasted="RadGridView1_Pasted" CanUserReorderColumns="False" 
                             CanUserSortColumns="False" BeginningEdit="RadGridView1_BeginningEdit" 
                             CacheMode="BitmapCache" CanUserSortGroups="False" HeaderRowStyle="{StaticResource CustomHeaderRowStyle}"
                             ElementExporting="RadGridView1_OnElementExporting" Pasting="RadGridView1_Pasting"
                                 DataLoaded="RadGridView1_DataLoaded"
                                  local:ContextMenuBehavior.ContextMenu="{Binding ElementName=GridContextMenu}">


                <telerik:RadContextMenu.ContextMenu>
                    <telerik:RadContextMenu x:Name="GridContextMenu">
                        <telerik:RadContextMenu.Items>
                            <telerik:RadMenuItem Header="Lock" />
                            <telerik:RadMenuItem Header="Unlock" />
                        </telerik:RadContextMenu.Items>
                    </telerik:RadContextMenu>
                </telerik:RadContextMenu.ContextMenu>
     </telerik:RadGridView>
        </Grid>
    </Border>
</UserControl>

如何设置标题Textwraping ??

1 个答案:

答案 0 :(得分:0)

你必须在标题中添加文本块并给出textblock.Text = col name; textblock.textwrapping = Wrap;

在创建radGridHeader时将此文本块绑定到标题。