As a workaround, the Path with the PathGeometry setter in the style can be replaced by a RadGlyph with a pin icon. The IsPinned Trigger in the style can be replaced with a DataTrigger to the parent row's IsPinned. Here's an example of the updated style for the Fluent theme:
<Style x:Key="GridViewPinButtonStyle" TargetType="grid:GridViewPinButton">
<Setter Property="PathStyle" Value="{StaticResource PinUnpinPathStyle}"/>
<Setter Property="Foreground" Value="{telerik1:FluentResource ResourceKey=IconBrush}"/>
<Setter Property="MinHeight" Value="28"/>
<Setter Property="MinWidth" Value="22"/>
<Setter Property="IsBackgroundVisible" Value="False"/>
<Setter Property="Command" Value="{x:Static telerik:RadGridViewCommands.TogglePinnedRowState}"/>
<Setter Property="CommandParameter" Value="{Binding}"/>
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="Padding" Value="0 0 2 0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="telerik:RadPathButton">
<Grid Background="Transparent">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="BackgroundVisibility">
<VisualState x:Name="BackgroundIsHidden">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="BackgroundIsVisible"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="OuterBorder"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}"
CornerRadius="{TemplateBinding CornerRadius}"/>
<telerik:RadGlyph x:Name="UnPinIcon" Foreground="{TemplateBinding Foreground}" FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" Glyph="{StaticResource GlyphPin}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="{telerik1:FluentResource ResourceKey=AccentMouseOverBrush}"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Foreground" Value="{telerik1:FluentResource ResourceKey=AccentPressedBrush}"/>
</Trigger>
<DataTrigger Binding="{Binding IsPinned, RelativeSource={RelativeSource AncestorType=telerik:GridViewRow}}" Value="True">
<Setter TargetName="UnPinIcon" Property="Glyph" Value="{StaticResource GlyphUnpin}" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
ArgumentException: 'RadGlyphExtension' is not valid for Setter.Value. The only supported MarkupExtension types are DynamicResourceExtension and BindingBase or derived types.
StackTrace:
at System.Windows.Setter.Seal()
at System.Windows.SetterBaseCollection.Seal()
at System.Windows.Style.Seal()
at System.Windows.Style.Seal()
at System.Windows.StyleHelper.UpdateStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle, Style& styleCache)
at System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
at System.Windows.FrameworkElement.UpdateStyleProperty()
at System.Windows.FrameworkElement.OnInitialized(EventArgs e)
at Telerik.Windows.Controls.RadButton.OnInitialized(EventArgs e)
at Telerik.Windows.Controls.RadPathButton.OnInitialized(EventArgs e)
at Telerik.Windows.Controls.GridView.GridViewPinButton.OnInitialized(EventArgs e)
at System.Windows.FrameworkElement.TryFireInitialized()
at System.Windows.FrameworkElement.EndInit()
at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)