【问题标题】:CustomRenderer for UIPickerViewUIPickerView 的自定义渲染器
【发布时间】:2016-11-08 06:16:05
【问题描述】:

是否可以让UIPickerView 在 XAML 中定义的位置始终可见?

此控件的标准行为仅在我们单击Title 属性时显示绑定列表,然后从屏幕底部(iOS)或弹出窗口(Android)显示一个包含列表作为内容的小部件。

我想让它从一开始就在它定义的地方(不是在小部件中)可见。 picker 对象中没有类似 Position 的东西。

protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
    {
        base.OnElementChanged(e);

        List<string> names = new List<string>()
        {
            "test",
            "test 2"
        };

        if (Control != null)
        {
            var picker = (UIPickerView)this.Control.InputView;
            picker.ShowSelectionIndicator = true;
        }
    }

【问题讨论】:

    标签: c# xamarin xamarin.forms custom-renderer


    【解决方案1】:

    我解决了这个问题,并在GitHub 上提供了一个示例项目存储库。

    示例代码:

    <local:CustomObjectPicker
                ItemsSource="{Binding ObjectList}"
                SelectedItem="{Binding SelectedItem}"
                IsTransparent="true"
                TextColor="Blue"
                />
    

    它基于 CustomRenderer 并且仅适用于 iOS,因为 UIPickerView 是一个原生 iOS 控件。

    【讨论】:

      猜你喜欢
      • 2017-06-09
      • 2017-11-24
      • 2013-09-25
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-25
      相关资源
      最近更新 更多