【发布时间】:2018-01-27 00:47:31
【问题描述】:
我是 Xamarin.Forms 编程的新手。想要自定义/更改 Picker 的方式
在图片中: - 带有文本“选择”的按钮,单击时调用 picker.Focus() - 选择按钮后面有黑色背景和文本颜色的选择器 - 空列表视图 -The picker options wheel pane, pops up when a picker is 'Focused'
选择器实现代码:
Picker picker = new Picker
{
HorizontalOptions = LayoutOptions.Start,
VerticalOptions = LayoutOptions.Center,
WidthRequest = 73,
HeightRequest = 25,
BackgroundColor = Color.Black,
TextColor = Color.Black
};
List<string> myList = new List<string>();
myList.Add("OPTIONS 1");
myList.Add("OPTIONS 2");
myList.Add("OPTIONS 3");
myList.Add("OPTIONS 4");
myList.Add("OPTIONS 5");
foreach (string str in myList)
{
picker.Items.Add(str);
}
代码自定义用户单击以将选择器选项轮窗格显示在视图中的“框”,但没有(或至少看起来)提供任何用于自定义选择器窗格的选项。
如何将选择轮弹出窗格放置在 ListView 内? 如何更改选择器轮内选项的字体大小并更改显示选项的窗格的高度?
tl;dr - 如何更改选择器窗格高度、项目字体大小、窗格位置?
这是我所知道的……
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using AppName.iOS;
using AppName;
[assembly: ExportRenderer(typeof(MyPicker), typeof(MyPickerRenderer))]
namespace AppName.iOS
{
public class MyPickerRenderer : PickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
base.OnElementChanged(e);
if (e.OldElement != null)
{
// Unsubscribe from event handlers and cleanup any resources
}
if (e.NewElement != null)
{
// Configure the native control and subscribe to event handlers
}
}
}
}
【问题讨论】:
标签: c# ios xamarin.forms uipickerview