微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xamarin Essentials 的问题

如何解决Xamarin Essentials 的问题

我现在正在编写我的第三个 xamarin 形式的初学者程序,并想编写一个加速度计 我们知道 API Xamarin Essentials 正在完成计算工作,但是当我插入诸如 Accelerometer.IsMonitoring 之类的东西时,它不知道 IsMonitoring 即使它必须知道它我在这里做错了什么是我在xaml 数据,它无法识别 IsMonitoring 和 Start 并给我错误:命名空间中不存在类型或命名空间名称“Start”:Accelerometer
代码如下:

private void ButtonStart_Clicked(object sender,EventArgs e)
    {
        if (Accelerometer.IsMonitoring)
            return;
        Accelerometer.ReadingChanged += Accelerometer_ReadingChanged;
        Accelerometer.Start(SensorSpeed.UI);
    }

 And this is the xaml code:
<Grid>
    <Grid.ColumnDeFinitions>
        <ColumnDeFinition Width="*"/>
        <ColumnDeFinition Width="*"/>
        
    </Grid.ColumnDeFinitions>
    <Label Grid.Row="0" Grid.ColumnSpan="2" x:Name="LabelX"/>
    <Label Grid.Row="1" Grid.ColumnSpan="2" x:Name="LabelY"/>
    <Label Grid.Row="2" Grid.ColumnSpan="2" x:Name="LabelZ"/>
    
    <Button Grid.Row="3" Grid.ColumnSpan="0" x:Name="ButtonStart" Text="Start" Clicked="ButtonStart_Clicked"/>
    <Button Grid.Row="3" Grid.ColumnSpan="1" x:Name="ButtonStop" Text="Stop" Clicked="ButtonStop_Clicked"/>
    
</Grid>

我做错了什么或遗漏了什么

解决方法

因为您的项目名为 Accelerometer,所以它无法区分您的主 App 命名空间和 Xamarin.Essentials Accelerometer

您可以通过重命名项目、为 Xamarin Essentials 创建别名或完全限定类名来解决此问题

private void ButtonStart_Clicked(object sender,EventArgs e)
    {
        if (Xamarin.Essentials.Accelerometer.IsMonitoring) return;

        Xamarin.Essentials.Accelerometer.ReadingChanged += Accelerometer_ReadingChanged;
        Xamarin.Essentials.Accelerometer.Start(SensorSpeed.UI);
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。