在 XAML 和 C# 中使按钮“公共”

本文关键字:按钮 公共 XAML | 更新日期: 2023-09-27 18:33:26

我正在使用Xamarin平台构建移动应用程序。在解决方案中,有一个core项目,然后是特定于平台的项目,在这种情况下,.ios.android 。在我的核心项目中,我有一个带有按钮元素的 XAML 布局。My_App.Core.HomePage.xaml

<Button x:Name="LoginIcon"
        Image="key.png"
        HorizontalOptions="Center"
        VerticalOptions="CenterAndExpand"
        Grid.Row="9" Grid.Column="3" Grid.ColumnSpan="3" />

我在这些项目中有一些特定于平台的逻辑,结果我想更改这些按钮的来源。

My_App.ios.customfile.cs:

My_App.HomePage.LoginIcon.Source = ImageSource.FromFile("bluetoothg.png");

当然,由于按钮是在 XAML 中定义的,LoginIcon在此文件中不可见,因此如何使此 XAML 元素public,以便我可以从解决方案中引用核心文件的其他项目中引用它?

在 XAML 和 C# 中使按钮“公共”

x:FieldModifier 命名空间属性指定为命名 XAML 元素生成的字段的访问级别。

在页面上创建一个属性并返回按钮:

public Button PubLoginIcon{ get{ return LoginIcon; } }

但是,我必须说,如果您必须访问另一个页面上的控件,则设计错误,更好的方法是将页面中的功能作为公共功能,在这种情况下,您无需访问控件。