Xaml Xamarin.forms滑块ThumImage在最大值时隐藏

Xaml Xamarin.forms滑块ThumImage在最大值时隐藏,xaml,xamarin.forms,xamarin.uwp,Xaml,Xamarin.forms,Xamarin.uwp,我使用滑块控制和设置三角形作为拇指图像。在最左边或最小值上,图像显示正确。但当将其拖动到最大值时,它会隐藏在最大值上。 在Xamarin.uwp中将此滑块控件与拇指图像一起使用时,没有水平限制。然而,原来的拇指工作得很好 您可以创建一个自定义控件,以使用原始拇指样式覆盖拇指图像样式 更改: <Thumb x:Name="HorizontalThumb" Background="{ThemeResource SystemControlForegroundAccen

我使用滑块控制和设置三角形作为拇指图像。在最左边或最小值上,图像显示正确。但当将其拖动到最大值时,它会隐藏在最大值上。

在Xamarin.uwp中将此滑块控件与拇指图像一起使用时,没有水平限制。然而,原来的拇指工作得很好

您可以创建一个自定义控件,以使用
原始拇指样式
覆盖
拇指图像样式

更改:

<Thumb x:Name="HorizontalThumb"
              Background="{ThemeResource SystemControlForegroundAccentBrush}"
              Style="{StaticResource SliderThumbStyle}"
              DataContext="{TemplateBinding Value}"
              Height="24"
              Width="8"
              Grid.Row="0"
              Grid.RowSpan="3"
              Grid.Column="1"
              AutomationProperties.AccessibilityView="Raw" />
                            <Thumb x:Name="HorizontalImageThumb"
                                    Visibility="Collapsed"
                                    Background="{ThemeResource SystemControlForegroundAccentBrush}"
                                    Style="{StaticResource SliderThumbImageStyle}"
                                    DataContext="{TemplateBinding Value}"
                                    Tag="{Binding ThumbImageSource, RelativeSource={RelativeSource TemplatedParent}}"
                                    Height="24"
                                    Width="24"
                                    Grid.Row="0"
                                    Grid.RowSpan="3"
                                    Grid.Column="1"
                                    AutomationProperties.AccessibilityView="Raw" />
   <Thumb
                                x:Name="HorizontalThumb"
                                Grid.Row="0"
                                Grid.RowSpan="3"
                                Grid.Column="1"
                                Width="24"
                                Height="24"
                                AutomationProperties.AccessibilityView="Raw"
                                Style="{StaticResource SliderThumbImageStyle}"
                                Background="{ThemeResource SystemControlForegroundAccentBrush}"
                                DataContext="{TemplateBinding Value}"
                                Tag="{Binding ThumbImageSource, RelativeSource={RelativeSource TemplatedParent}}"
                                />
并添加下面的代码以使用此属性更改控件使用的样式的默认值

public MySlider()
    {
        this.DefaultStyleKey = typeof(MySlider);
    }
然后注释Xamarin.uwp的MainPage.cs中的代码

LoadApplication(new App43.App());
最后,您可以在Xamarin.uwp MainPage.xaml中使用此控件

<local:MySlider ThumbImageSource="Assets/pig.jpg"/>

结果:

我已经在GitHub上上传了我的示例,您可以下载App43文件夹以供参考。

谢谢@wendyzang。我检查了你的解决方案,这正是我的要求。但我在可移植代码上使用滑块控制,而不是uwp代码。我也必须在android和ios之间共享相同的代码。但我也尝试使用SliderRenderer类来进行特定于平台的更改。@mayank.karki您可以在自定义渲染器中执行此操作。
<local:MySlider ThumbImageSource="Assets/pig.jpg"/>