Xamarin是一个由Xamarin.iOS,Xamarin.Android,Xamarin.Mac和Xamarin Test Cloud组成的平台。它允许您编写适用于iOS,Android和Mac的跨平台本机应用程序,并在整个生命周期内关注您的应用程序。 Xamarin.Forms的引入支持iOS,Android和Windows的Native UI开发
我正在将我的 Xamarin 应用程序(适用于 Android)转换为 .NET 8。资源/值中的应用程序源代码具有以下文件: 颜色.xml: #D...
如何使用.NET MAUI Preview 7 创建DataGrid?
我正在处理 .NET MAUI Preview 7 项目,我需要创建一个表/数据网格,但我看到在 XAML 文件中,没有“Table”、“DataGrid”或“DataView&qu..”的标签。 .
为什么我的 Xamarin Froms iOS 应用程序在物理设备上崩溃?
我的 Xamarin.Forms 应用程序在 Android 上完美运行,但当我部署到 iOS(物理 iPhone 8)时,它不断崩溃。我在 AppDelegate 或第一页中设置了断点,但一切都因此中断
HTTP 请求错误:InternalServerError 内部服务器错误:保存实体更改时发生错误
HTTP 请求错误:InternalServerError 内部服务器错误:An 保存实体更改时发生错误。看内在 详细信息例外。 我在尝试保存到 da 时遇到此错误...
简短版本 我发现自己浪费了大量时间重命名+将文件包含在我的 Xamarin.Forms 项目中,因为仅在文件中从大写到小写(或反之亦然)的任何更改都会导致...
我一直在尝试寻找一个位置来存储我的应用程序数据库,我可以在 Android 模拟器的文件浏览器中找到该数据库。根据我当前的设置,重新安装应用程序后,数据库将被擦除。我...
我尝试在 iPhone 11 上部署我的应用程序进行测试,但收到一条错误消息,告诉我它无法自动配置项目。 我目前正在使用 MAUI,但发生了同样的错误
更新/重新安装后保留的 SQLite Xamarin/.net Maui 数据库位置
我一直在尝试找到一个位置来存储我的应用程序数据库,我可以在我的 Android 模拟器上的文件浏览器中找到该数据库。另外,在我重新安装应用程序后,根据我当前的设置,数据库将被擦除...
Xamarin 应用程序可以工作并可部署到比该新设备(即 Android 7.1.2)更早和更晚的版本。 从应用程序中心直接安装/ADB安装在此设备上也可以正常工作...
MAUI Android 应用程序中的深层链接问题:ClassNotFoundException
我正在尝试在我的 MAUI Android 应用程序中实现深度链接来处理 ed2k 链接。但是,当我单击 ed2k 链接并选择我的应用程序将其打开时,出现以下错误: 贾夫...
我想在表单中使用水平分隔线。据我所知,Xamarin.Forms 没有提供这一功能。 有人可以提供分隔符的片段吗? 更新1 根据杰森的道具...
Xamarin IOS 构建错误“提取 Zip 条目将导致在指定目标目录之外生成文件。”
我正在尝试构建新的 IOS 版本并收到以下错误: “C:\Program Files\Microsoft Visual Studio�2\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.After.targets(80,3):错误...
NuGet 恢复问题:未找到 Xamarin iOS CSharp 目标
我在 Azure DevOps 上有一个 Xamarin Forms Android 构建管道,我的应用程序在本地构建没有问题。当管道运行时,当我尝试执行 NuGet Restor 时,出现以下错误...
如何将我的通用 Xamarin.Forms 渲染器转换为 MAUI 处理程序?
有人可以帮助我了解如何将自定义渲染器正确转换为 .NET MAUI 处理程序吗? 在 Xamarin.Forms 中,我有一个通用渲染器,可以将其附加到任何用户控件。我超越我...
我正在学习 xamarin 形式和 mvvm 模式。我想知道是否可以否定绑定布尔值。我的意思是: 我有,比方说带有 isVisible 绑定的 Entry: 我正在学习 xamarin 形式和 mvvm 模式。我想知道是否可以否定绑定布尔值。我的意思是: 我有,比方说,带有 isVisible 绑定的条目: <Entry x:Name="TextEntry" IsVisible="{Binding IsVisibleEntry}" /> 和 Label 当 TextEntry 可见时我想隐藏它们。 <!-- ofc it is not working --> <Label x:Name="MainLabel" isVisible="!{Binding IsVisibleEntry}" /> 是否可以在 MainLabel 中不为 ViewModel 创建新变量? 选项一:转换器 定义转换器: public class InverseBoolConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return !((bool)value); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return value; //throw new NotImplementedException(); } } XAML 中的用法: <Label x:Name="MainLabel" isVisible="{Binding IsVisibleEntry, Converter={Helpers:InverseBoolConverter}}"/> XAML 标头 xmlns:Helpers="clr-namespace:HikePOS.Helpers" 选项二:触发 <Label x:Name="MainLabel" isVisible="{Binding IsVisibleEntry}"> <Label.Triggers> <DataTrigger TargetType="Label" Binding="{Binding IsVisibleEntry}" Value="True"> <Setter Property="IsVisible" Value="False" /> </DataTrigger> </Label.Triggers> </Label> 您可以使用 Xamarin Community Toolkit,而不是编写自己的转换器,它现在有一个可以开箱即用的转换器 invertedboolconverter。这个例子(取自微软的文档)展示了它是如何工作的: <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:xct="http://xamarin.com/schemas/2020/toolkit" x:Class="MyLittleApp.MainPage"> <ContentPage.Resources> <ResourceDictionary> <xct:InvertedBoolConverter x:Key="InvertedBoolConverter" /> </ResourceDictionary> </ContentPage.Resources> <StackLayout> <Label IsVisible="{Binding MyBooleanValue, Converter={StaticResource InvertedBoolConverter}}" /> </StackLayout> </ContentPage> 您将需要创建一个反向转换器,以便您的绑定看起来有点像这样: public class InverseBoolConverter : IValueConverter { public object Convert (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return !(bool)value; } public object ConvertBack (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return !(bool)value; } } 在您的 XAML 中 <local:InverseBoolConverter x:Key="inverter"/> <Entry x:Name="TextEntry" IsVisible="{Binding IsVisibleEntry, Converter={StaticResource inverter}}" /> 尽管@praty 的解决方案有效,但如果您像我一样使用自定义控件/视图或 XCT 的弹出窗口。在我们的 XAML 中使用转换器之前,我们需要这样指定: <ContentView.Resources> <converters:InverseBoolConverter x:Key="invrerseBoolConverter" /> </ContentView.Resources> 因此最终代码将是: InverseBoolConverter.cs // Under namespace MyProject.Converters public class InverseBoolConverter : IValueConverter { public object Convert (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return !(bool)value; } public object ConvertBack (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return !(bool)value; } } XAML 代码 <xct:Popup ... xmlns:xct="http://xamarin.com/schemas/2020/toolkit" xmlns:converters="clr-namespace:MyProject.Converters" ...> <ContentView> <ContentView.Resources> <converters:InverseBoolConverter x:Key="inverseBoolConverter" /> </ContentView.Resources> <StackLayout> <Label IsVisible="{Binding IsVisibleLabel, Converter={StaticResource inverseBoolConverter}}" /> </StackLayout> </ContentView> </xct:Popup> 注意:虽然我们可以使用 Xamarin 社区工具包的 InvertedBoolConverter,但我已经描述了手动解决方案,以便我们可以添加除内置转换器之外的自定义值转换器。 我喜欢已经提供的答案,但我想我应该添加我自己有时使用的版本。在 MVVM 架构中,视图模型的属性都在对象设置器中调用 SetProperty(),从而引发 INotifyPropertyChanged 事件。我一直在做的是将第二个属性添加到视图模型中,并在第一个属性的设置器中将其值设置为 !value。 例如,每当属性 button.IsEnabled = false 出现时,我希望按钮为 ViewModel.IsBusy = true。这是一个反向布尔示例,就像您所问的那样。 ViewModel.cs 属性: private bool enableButton; public bool EnableButton { get { return enableButton; } set { SetProperty(ref enableButton, value); } } private bool isBusy; bool IsBusy { get { return isBusy; } set { SetProperty(ref isBusy, value); EnableButton = !value; } } XAML: <ActivityIndicator IsRunning="{Binding IsBusy}"/> <Button Text="Start Sync" Command="{Binding SyncCommand}" IsEnabled="{Binding EnableButton}"/> 这样,在我的代码中任何时候我调用IsBusy = true,它都会同时设置button.IsEnabled = false,解决反向布尔问题。
如何在 Xamarin 应用程序中的 XAML 中格式化日期和时间
我在下面设置了 XAML 代码。 我想要像 2014 年 9 月 12 日下午 2:30 这样的结果。
无法将 Xamarin Android 应用程序定位到 Android 14
我一直在尝试将我们的 Xamarin Native (Xamarin.Android) 应用程序的 traget 框架更新到 Android 14。 然而,我已经安装了 API 34 的 SDK 工具,它反映在 Target A 下...
我们的应用程序中的 Firestore 数据库离线模式遇到了严重问题,我希望我们只是在某个地方犯了一个愚蠢的错误。鉴于这对我们来说绝对是一场精彩的表演,任何...
如何访问 ObservableCollection 模型属性以在 shell 弹出窗口中进行数据绑定?
我正在创建我的第一个 MAUI 应用程序,它是一个术语跟踪器(带有社区工具包 MVVM)。我已手动向数据库添加了一些术语,并且正在尝试让它们以飞出方式显示。我曾经
系留 iOS 应用程序在调试器暂停几秒钟后终止 (Visual Studio Avalonia/Xamarin/Maui)
我正在使用 Avalonia 开发一个跨平台应用程序(用 C# 编写,工作原理类似于 Xamarin / Maui)。该应用程序面向 iOS、Android 和 Windows,并且在所有 3 种操作系统下均运行良好。开发正在进行中