Xamarin Forms WinRT 条目自定义渲染器

Posted

技术标签:

【中文标题】Xamarin Forms WinRT 条目自定义渲染器【英文标题】:Xamarin Forms WinRT Entry Custom Renderer 【发布时间】:2016-09-03 12:54:27 【问题描述】:

我试图让条目在聚焦时选择所有文本。我有一个用于在 android 上执行此操作的自定义渲染器,但希望它也可以在 Windows 8 上运行。如何在 Xamarin Forms 中为 Windows 创建自定义渲染?这是我所拥有的:

[程序集:ExportRenderer(typeof(Xamarin.Forms.Entry), typeof(DrivingLog.Windows.MyEntryRenderer))]
命名空间 DrivingLog.Windows

    公共类 MyEntryRenderer:EntryRenderer 

        受保护的覆盖无效 OnElementChanged(ElementChangedEventArgs e) 

            base.OnElementChanged(e);

            if (e.OldElement == null) 

                var nativeEditText = (global::Windows.UI.Xaml.Controls.TextBox)Control;

                nativeEditText.ManipulationStarted += (object sender, ManipulationStartedRoutedEventArgs args) => 

                    nativeEditText.SelectAll();

                ;

            

        

    

【问题讨论】:

您目前所拥有的有什么问题吗?你有什么具体的问题? @Jason 代码没有选择 TextBox 中的文本。我也尝试过更改 TextBox 的文本颜色,但它仍然不起作用。 xamarin 不使用渲染器。 【参考方案1】:

我发现了问题,渲染器类在 Main Page.xaml.cs 文件中。它需要位于没有与之关联的 xaml 的文件中,才能将程序集标记识别为 Xamarin Forms 2.0

【讨论】:

以上是关于Xamarin Forms WinRT 条目自定义渲染器的主要内容,如果未能解决你的问题,请参考以下文章

图像控件未在 WinRT 8.1 Xamarin.Forms(便携式)项目中呈现

条目渲染不在iOS Xamarin Forms中添加下划线

Xamarin Forms - 防止键盘在 UWP、Android、iOS 中的条目焦点上显示

如何知道 ListView 中修改了哪个 Xamarin 表单条目?

Xamarin.Forms自定义GridView

在 Xamarin.Forms 中为 ContentPage 使用自定义基类