我正在使用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" />
我在那些项目中有一些特定于平台的逻辑,结果我想改变这些按钮的来源。 e.g。
My_App.ios.customfile.cs:
My_App.HomePage.LoginIcon.Source = ImageSource.FromFile("bluetoothg.png");
当然,由于按钮在XAML中定义,LoginIcon
在此文件中不可见,如何创建此XAML元素public
,因此我可以从其他项目中引用它引用核心文件的解决方案?
答案 0 :(得分:2)
x:FieldModifier名称空间属性为命名XAML元素的生成字段指定访问级别。
答案 1 :(得分:1)
在页面上创建一个属性并返回按钮:
public Button PubLoginIcon{ get{ return LoginIcon; } }
但是,如果你必须访问另一个页面上的控件,我必须说错误地设计了一些东西,更好的方法是将页面中的功能作为公共函数,在这种情况下你不需要访问控件。