【问题标题】:Xamarin Forms - Access controls in Target application (iOS/Android)Xamarin 表单 - 目标应用程序 (iOS/Android) 中的访问控制
【发布时间】:2015-04-14 17:37:00
【问题描述】:

我正在使用 Xamarin.Forms,共享项目模板。 在这里,我通过say框架提供的StackLayout为内容页面添加了一个Label等控件。

现在在目标应用程序中 - 比如说 iOS/Andriod,我只需要为这个标签设置一些文本。我有一些特定于平台的代码,我想更改共享项目中创建的标签的文本值。

怎么做?

我了解,可以使用自定义渲染器。我在这里想念什么直截了当的方法吗?

【问题讨论】:

    标签: xamarin


    【解决方案1】:

    当然,您可以使用自定义渲染器......但恕我直言,这将是一种矫枉过正。 我会使用 OnPlatform 方法 - 类似于:

    myLabel.Text = Device.OnPlatform<string>("text for iOS", "text for Android", "text for Windows Phone");
    

    如果您愿意,您也可以从 XAML 中执行相同的操作,如本文所示(在此处搜索“OnPlatform”): http://developer.xamarin.com/guides/cross-platform/xamarin-forms/xaml-for-xamarin-forms/essential_xaml_syntax/

    如果您需要的文本是动态的,并且您需要在运行时从特定于平台的项目中设置它,那么您需要将标签分配给共享项目中的某个变量,然后从平台项目中引用此变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 2020-12-24
      • 2020-10-22
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 2018-08-18
      相关资源
      最近更新 更多