Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在不同的xaml文件中访问xaml属性_C#_Xamarin_Mapbox - Fatal编程技术网

C# 如何在不同的xaml文件中访问xaml属性

C# 如何在不同的xaml文件中访问xaml属性,c#,xamarin,mapbox,C#,Xamarin,Mapbox,我有两个不同的xaml文件,比如about和addgeojson。第一个(关于)是: 不要直接从另一个页面操作UI页面,这是一个可怕的设计。使用MessagingCenter在类之间传递消息,这些消息将驱动UI更新我需要访问“map”prop中的函数。我不会改变任何用户界面。我只需要访问mapview中名为“map”的函数。不管怎样,直接访问这种类型的函数是一种可怕的方法。使用消息中心或一些不会将视图紧密耦合在一起的机制好的,我添加了视图模型。我更新了我的问题我必须说多少次“MessagingC

我有两个不同的xaml文件,比如about和addgeojson。第一个(关于)是:


不要直接从另一个页面操作UI页面,这是一个可怕的设计。使用MessagingCenter在类之间传递消息,这些消息将驱动UI更新我需要访问“map”prop中的函数。我不会改变任何用户界面。我只需要访问mapview中名为“map”的函数。不管怎样,直接访问这种类型的函数是一种可怕的方法。使用消息中心或一些不会将视图紧密耦合在一起的机制好的,我添加了视图模型。我更新了我的问题我必须说多少次“MessagingCenter”?
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="myMapApp.Views.AboutPage"
             xmlns:vm="clr-namespace:myMapApp.ViewModels" xmlns:local="clr-namespace:Naxam.Controls.Forms;assembly=Naxam.Mapbox.Forms"
             Title="{Binding Title}">

    <ContentPage.BindingContext>
        <vm:AboutViewModel />
    </ContentPage.BindingContext>

    <StackLayout>
        <local:MapView 
                    x:Name="map" 
                    x:FieldModifier="Public"
                    VerticalOptions="FillAndExpand" 
                    MapStyle="mapbox://styles/mapbox/satellite-v9" 
                    ZoomLevel="3"
                />
    </StackLayout>

</ContentPage>
using Naxam.Controls.Forms;
using Naxam.Mapbox;
using System;
using System.Collections.Generic;
using System.Text;
using Xamarin.Forms;

namespace myMapApp.ViewModels
{
    public class mapPage
    {
        private static mapPage _instance = new mapPage();
        public static mapPage Instance { get { return _instance; } }

        public MapView customMap2 = new MapView
        {
            MapStyle = MapStyle.SATELITE,
            VerticalOptions = LayoutOptions.FillAndExpand,
            ZoomLevel = 3,
            Functions = MapFunc
        };


        private static IMapFunctions MapFunc { get; set; }

        public IMapFunctions GetFunc
        {
            get { return MapFunc; }
            set { return; }
        }

    }
}