xamarin - 如何从 Xamarin Forms UWP 中删除/替换选择器下拉图标?
问题描述
我正在使用 PCL 项目中的 Xamarin.Forms 选择器,但在 Android 和 iOS 的情况下,选择器下拉图标不可用,而对于 UWP 选择器下拉图标可用。
我得到了一个解决方案,它为 Android 和 iOS 平台( https://xamgirl.com/picker-with-right-side-icon-in-xamarin-forms/ )添加了一个选择器下拉图像,我需要使用相同的UWP 的逻辑也是如此。所以我需要从 UWP 选择器(组合框)中隐藏当前的下拉图标,并使用自定义图像更新图标。
我想从 UWP 中的选择器中删除下拉图标因此我关注了这篇文章-( Xamarin.Forms UWP - 如何隐藏或更改 Picker / ComboBox 下拉箭头的颜色)
我不想在特定于平台的 App.xaml 文件中编写任何代码。但是我需要从自定义渲染器类中删除图标,有什么办法吗?或者我需要使用自定义渲染类中的自定义图像更新该图标。
解决方案
你可以使用这个解决方案
<Frame Padding="10">
<StackLayout>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80*" />
<ColumnDefinition Width="20*" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Text="{Binding Source={x:Reference MyPicker}, Path=SelectedItem.Title}" />
<Image Source="downdownpng.png" Grid.Column="1"/>
</Grid>
<Picker
x:Name="MyPicker"
ItemDisplayBinding="{Binding Title}"
ItemsSource="{Binding PickerItemSource}" />
<StackLayout.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped" />
</StackLayout.GestureRecognizers>
</StackLayout>
</Frame>
在你的 .cs
private void TapGestureRecognizer_Tapped(object sender, EventArgs e)
{
MyPicker.Focus();
}
推荐阅读
- go - 为什么 VS Code 将循环后的代码标记为不可访问?
- python - 带背景减法的手形光标控制器
- google-sheets - 如果满足 2 个条件,则计数字符串出现
- python-3.x - 如何在基于 django 的站点中检查多个网站的 ping 响应?
- android - Sum 在 Kotlin 中给出一个负数
- flutter - 添加颜色过渡
- sql-server - 如何执行命令:在 Spark/Databricks 的 SQL Server 表上设置 IDENTITY_INSERT ON?
我已经能够使用 JDBC 驱动程序从 Databricks 读取/写入 SQL Server 表。但是这次我必须在写入 SQL Server 之前执行一个命令。我需要在 SQL 服务器上执行此命令: SET IDENTITY_INSERT <sqlserver_table_name> ON 如何从 Databricks 执行此操作?任
- python - 如何从熊猫数据框创建嵌套字典?
- flutter - 为什么我的分隔线缩进在不同的设备上不同?
- javascript - 通过 graphql 从 postgresql 获取产品销售报告