xamarin.forms 相关问题

Xamarin.Forms是一款Microsoft产品,允许从单个共享C#代码库为Android,iOS,Windows和其他应用程序构建本机,跨平台应用程序。

“iOS Xamarin.Forms:更新到 iOS 17.1.1/17.1.2 后滚动 TimePicker 时出现 NSInternalInconsistencyException”

我们的 Xamarin.Forms iOS 应用程序遇到崩溃,并出现特定异常:致命异常:NSInternalInconsistencyException 不得从

回答 1 投票 0

Xamarin:默认显示警报背景颜色并不总是遵循应用程序主题

我有一个 Xamarin 应用程序,我在其中使用 DisplayAlert(),并且我注意到它通常会在浅色模式下显示警报,即使我处于深色模式下也是如此。在调试时,我检查了该值...

回答 1 投票 0

如何在 Xamarin Forms 中设置标签的名称

我正在尝试向标签添加名称,以便我可以使用 Content.FindByName<>() 方法找到它 据我所知 Xamarin.Forms.Label() 类没有 Name 属性 这是我的页面...

回答 6 投票 0

Textcell 在模拟器上显示,但在 Android 上不显示

我的 xaml 在模拟器中正确显示时遇到问题,但在打包并安装到我的 Android 手机上时却出现问题。另外,堆栈布局中的普通标签根本不会显示在我的

回答 1 投票 0

如何在Xamarin Forms中的DevExpress Collectionview中设置组名称?

我遵循了这个文档并取得了一些进展。但我无法设置我想要的组标题名称。 在教程和文档中,人们从 MenuGroup 名称添加此组名称,但我不能......

回答 1 投票 0

xamarin 形成 CustomPin ios 渲染

无法将以下列表中的所有引脚显示到视图中。 注意:我下面的示例不是 xamarin forms 文档的一部分。我的想法是,也许我可以将两个列表结合起来

回答 1 投票 0

Xamarin 项目中的权限访问重复对话框 - 仅在 ios 中

我有一个 Xamarin Prism Forms 应用程序,其中包含应该获取用户当前位置的网页。 该应用程序已拥有 Android 所需的“应用程序”权限。但在ios中,当我打电话时...

回答 2 投票 0

Facebook Audience Network 的 Xamarin.Forms 实现

我正在努力在我的 Xamarin.Forms 应用程序中实施 Facebook Audience Network。 可用的 nuget 包很旧并且具有过时的方法。 我能够自己实现广告,测试插播......

回答 2 投票 0

如何在 iOS 设备上的 xamarin Forms Timepicker 中以英语设置 AM/PM

我无法使用 Xamarin 表单中的 TimePicker 发送上午和下午的英语。我已经使用自定义渲染进行了测试,但没有运气。问题仅发生在 iOS 设备中,而不是模拟器中。 [![ 我无法使用 Xamarin 表单中的 TimePicker 发送上午和下午的英语。我已经使用自定义渲染进行了测试,但没有运气。问题仅发生在 iOS 设备中,而不是模拟器中。 [![<?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="TTTTT.MainPage"> <StackLayout> <Frame BackgroundColor="#2196F3" Padding="24" CornerRadius="0"> <Label Text="Welcome to Xamarin.Forms!" HorizontalTextAlignment="Center" TextColor="White" FontSize="36"/> </Frame> <Label Text="Start developing now" FontSize="Title" Padding="30,10,30,10"/> <Label Text="Make changes to your XAML file and save to see your UI update in the running app with XAML Hot Reload. Give it a try!" FontSize="16" Padding="30,0,30,0"/> <Label FontSize="16" Padding="30,24,30,0"> <Label.FormattedText> <FormattedString> <FormattedString.Spans> <Span Text="Learn more at "/> <Span Text="https://aka.ms/xamarin-quickstart" FontAttributes="Bold"/> </FormattedString.Spans> </FormattedString> </Label.FormattedText> </Label> <TimePicker Format="h:mm tt"></TimePicker> </StackLayout> </ContentPage>][1]][1] iOS 中的本地化是您所需要的,您可以在 Info.plist 中指定默认和支持的语言,并将 floder.lproj 中支持的 .strings 文件添加到您的项目中。如果您有资源文件并添加本地化语言的键值对,它将可用。如果用户在“设置”中设置了“首选语言”,iOS会首先自动查找用户最喜欢的语言。您可以参考:iOS如何确定您的应用程序的语言。 <key>CFBundleLocalizations</key> <array> <string>en</string> <string>es</string> </array> <key>CFBundleDevelopmentRegion</key> <string>en</string 您还可以设置 AppleLanguages 来更改语言: NSUserDefaults.StandardUserDefaults.SetValueForKey(NSArray.FromStrings("XX"), new NSString("AppleLanguages")); NSUserDefaults.StandardUserDefaults.Synchronize(); 欲了解更多信息,您可以参考: Xamarin.iOS 中的本地化 Xamarin.Forms 字符串和图像本地化

回答 1 投票 0

适用于 Xamarin.Forms 的 Google Integrity API

如何使用 Google 最新的 Integrety API 保护我们的 Xamarin.forms Android 应用程序?我发现 Google Play 服务库“com.google.android.play:integrity”有一个绑定。 Xamarin.Google。

回答 1 投票 0

Xamarin.Forms 项目的适应性问题

在此输入图像描述 这是代码:codeshare.io/VZW3z3 在开始之前,我想提一下,遗憾的是,我的英语不是最好的,所以如果您发现任何错误,我深表歉意。现在,进入

回答 1 投票 0

如何在集合视图中分隔行,使用框架来显示项目

早上好,同事们,我有一个显示表格列表的视图,我使用 CollectionView 作为数据容器,为了使其外观更好,我在每篇文章中使用框架,所以......

回答 1 投票 0

以编程方式切换时会触发 Switch Toggled 事件

<StackLayout BackgroundColor="White"> <ListView x:Name="ListViewMenu" ItemsSource="{Binding Menus}" HasUnevenRows="True" BackgroundColor="White" SeparatorVisibility="None" VerticalOptions="FillAndExpand" ItemTapped="Handle_ItemTapped" ItemSelected="Handle_ItemSelected" IsGroupingEnabled = "true" SeparatorColor="White"> <ListView.GroupHeaderTemplate> <DataTemplate> <ViewCell> <ViewCell.View> <StackLayout BackgroundColor="LightSkyBlue" HeightRequest="25"> <Label Text="{Binding Key}" FontAttributes="Bold" LineBreakMode="NoWrap" Margin="10,0,0,0"> </Label> </StackLayout> </ViewCell.View> </ViewCell> </DataTemplate> </ListView.GroupHeaderTemplate> <ListView.ItemTemplate> <DataTemplate> <ViewCell> <ViewCell.View> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="6*"></ColumnDefinition> <ColumnDefinition Width="Auto"></ColumnDefinition> </Grid.ColumnDefinitions> <Label Text="{Binding article_description}" FontAttributes="Bold" FontSize="13" Margin="10,5,0,-6" Grid.Row="0" LineBreakMode="NoWrap"/> <Label Text="{Binding dish_name}" FontSize="13" Margin="10,0,0,2" Grid.Row="1" Grid.Column="0"/> <Label Grid.Row="0" Grid.Column="0" x:Name="LabelReserved" Text="{Binding reserved}" IsVisible="false" LineBreakMode="NoWrap"/> <Switch Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" HorizontalOptions="Start" VerticalOptions="Center" IsEnabled="False" Toggled="SwitchMenu_OnToggled" > <Switch.Triggers> <DataTrigger TargetType="Switch" Binding="{Binding Source={x:Reference LabelReserved}, Path=Text.Length}" Value="7"> <Setter Property="IsToggled" Value="true" /> </DataTrigger> </Switch.Triggers> </Switch> </Grid> </ViewCell.View> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> </StackLayout> 我上面有一个列表视图,它有一个开关,如果 labelreserved 的长度为 7,我有一个触发器来切换开关,但我不希望只有当用户单击开关时才触发 Toggled 事件。 可以做我想做的事吗? 注意: 这个解决方案是我的一个实验 - 所以我建议,如果你决定实现这个,请谨慎使用。 基本上,目的是创建一个仅查看的解决方案,能够跟踪如何设置 IsToggled 属性 - 无论是通过触发器、绑定上下文还是点击操作(类似于维护的 属性上下文)对于 BindingContext 于 BindableObject) 假设我们有一个自定义事件,仅当用户点击开关时才会触发 - 这个问题应该得到解决。简单地向 Switch 添加点击识别器似乎不起作用。我们只剩下两个选择: 创建您自己的自定义控件,提供与Switch类似的功能,但仅在捕获点击手势时触发切换事件 - 强烈推荐此选项。 或者,您可以使用自定义事件扩展现有 Switch 控件,并通过提供其自己的一组可绑定属性来跟踪 IsToggled 属性的设置方式。 例如: public class CustomSwitch : Switch { internal enum ToggledSetFlags { None = 0, FromCode = 1 << 0, } ToggledSetFlags _toggleSetStatus = ToggledSetFlags.None; public event EventHandler<ToggledEventArgs> UserToggled; public static readonly BindableProperty ToggledStateFromCodeProperty = BindableProperty.Create( "ToggledStateFromCode", typeof(bool), typeof(CustomSwitch), defaultBindingMode: BindingMode.TwoWay, defaultValue: default(bool), propertyChanged: OnToggledStateFromCodeChanged); public bool ToggledStateFromCode { get { return (bool)GetValue(ToggledStateFromCodeProperty); } set { SetValue(ToggledStateFromCodeProperty, value); } } private static void OnToggledStateFromCodeChanged(BindableObject bindable, object oldValue, object newValue) { ((CustomSwitch)bindable).OnToggledStateFromCodeChangedImpl((bool)oldValue, (bool)newValue); } protected virtual void OnToggledStateFromCodeChangedImpl(bool oldValue, bool newValue) { if (ToggledStateFromCode != IsToggled) { _toggleSetStatus = ToggledSetFlags.FromCode; IsToggled = ToggledStateFromCode; } } protected override void OnPropertyChanged(string propertyName = null) { base.OnPropertyChanged(propertyName); if (propertyName == nameof(IsToggled)) { ToggledStateFromCode = IsToggled; if (_toggleSetStatus == ToggledSetFlags.None) UserToggled?.Invoke(this, new ToggledEventArgs(IsToggled)); else _toggleSetStatus = ToggledSetFlags.None; } } } 并且,示例用法如下所示: <local:CustomSwitch Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" HorizontalOptions="Start" VerticalOptions="Center" ToggledStateFromCode="{Binding IsSwitchOn}" UserToggled="SwitchMenu_OnToggled"> <Switch.Triggers> <DataTrigger TargetType="{x:Type local:CustomSwitch}" Binding="{Binding Source={x:Reference LabelReserved}, Path=Text.Length}" Value="7"> <Setter Property="ToggledStateFromCode" Value="true" /> </DataTrigger> </Switch.Triggers> </local:CustomSwitch> 编辑1:在恢复自定义切换属性状态时错过了在else方法中添加OnPropertyChanged。此外,仅在当前切换值不同时添加检查以设置标志。 编辑2: 将可绑定属性转换为跟踪状态,而不是像以前一样无状态。这确保了能够在不触发事件的情况下处理绑定更改。 您可以通过使用属性 IsEnabled 禁用 Switch 并将其设置为 false 来防止用户切换开关。 这个问题很旧,但我找到了一个简单(有点不正确)的解决方案,我用它来从已接受的答案中节省大量额外的工作。 当我以编程方式切换开关时,我将 Tag 属性设置为 true。 ToggleSwitch.Tag = true; ToggleSwitch.IsOn = true (or false); 然后在我的 Toggled 事件中,我检查 Tag 属性是否为 null 并执行我的操作。这样,事件被触发的唯一时间就是用户切换开关时。 private void ToggleSwitch_Toggled(object sender, RoutedEventArgs e) { ToggleSwitch toggleSwitch = (ToggleSwitch)e.OriginalSource; if (toggleSwitch.Tag == null) { // Switch was toggled by user, do some action. } else { // Switch was toggled programmatically, set Tag null. toggleSwitch.Tag = null; } }

回答 3 投票 0

模拟器上的 Xamarin Android 应用程序无法从本地托管的 asp.net core webapi 获取数据:操作已取消

我正在开发一个带有 Xamarin 表单的 Android 应用程序,该应用程序从 ASP.NET core webapi 获取数据。 但到目前为止,它似乎在以下行停止工作: HttpResponseMessage 响应 = 等待 cli...

回答 1 投票 0

iOS 设备上的 TimePicker 标签中的印地语上午/下午

时间选择器标签以印地语而不是英语显示所选时间 AM/PM。 但它在选择器部分以英文显示 正如在这里可以看到的。 设备语言 英语和 设备...

回答 1 投票 0

静态哈希码如何影响性能(C#)

一般来说,我打算在项目中创建的每个类都在任何集合内进行优化,并可与 IEqualityComparer 和 IEquatable 接口一起使用。 怎么会忽略

回答 1 投票 0

如何更新Xamarin表单中的DevExpress CollectionView行?

我正在开发一个xamarin表单应用程序。我希望用户选择一些值,然后更新 CollectionView 以显示该行上的选定值。 2 是选定的值。它会出现在这里,但有时...

回答 1 投票 0

.Net Maui AppInfo.Current.VersionString

我正在 UWP 上部署的 Maui 项目上调用 AppInfo.Current.VersionString。 我总是回到 1.0.0.1 我尝试过改变 2.0 我正在为部署在 UWP 上的毛伊岛项目调用 AppInfo.Current.VersionString。 我总是回到 1.0.0.1 我尝试过更改 <ApplicationDisplayVersion>2.0</ApplicationDisplayVersion> <ApplicationVersion>2</ApplicationVersion> 在relay.csproj内部,我也尝试过更改 <assemblyIdentity version="1.3.0.0" name="Relay.WinUI.app"/> WinUI 平台文件夹内的 app.manifest 内部。 但总是返回 1.0.0.1,我也尝试过 VersionTracking.CurrentVersion 并看到同样的事情。 我发现设置 ApplicationDisplayVersion 和 ApplicationVersion 后进行清理和重建将使 AppInfo.Current.VersionString 能够正确检索信息 您可以按照以下步骤更改UWP上的maui项目版本。 首先,请在Package.appxmanifest中找到Platforms\Windows\Package.appxmanifest文件。 其次,双击该文件,您可以看到选项,然后选择Packaging。 最后,您可以看到下面的视图,您可以更改项目版本。 这里是有关软件包版本编号的信息。 除了前面的 2 个答案之外,我还发现(尤其是在 Windows 上)我需要删除 bin 和 obj 文件夹,然后才能开始获取正确的数字。好吧,让我澄清一下 - 我发现没有它我可以获得正确的数字来显示,但是当我打包应用程序时它仍然有旧的数字,所以如果我想要的话,我必须先删除 bin 和 obj 文件夹包文件夹也有正确的编号。 您是否在删除之前生成的 bin 和 obj 文件夹后尝试构建? ApplicationDisplayVersion 和 ApplicationVersion 是需要设置的属性。 类似这样的: dotnet publish -f net7.0-windows10.0.19041.0 -c Release -p:RuntimeIdentifierOverride=win10-x64 -p:ApplicationDisplayVersion=1.2.3 -p:ApplicationVersion=4

回答 4 投票 0

Firebase 身份验证失败并出现 FirebaseException:JsonResponse 实例化失败

问题 我刚刚为我的一个 Xamarin.Forms 应用程序创建了更新,现在我遇到了一个问题:将新的 .aab 上传到 Google Play 后,Firebase 登录工作流程突然中断。 ...

回答 4 投票 0

Xamarin Android 应用程序在物理设备上调试时崩溃

我正在尝试调试在 Visual Studio 2022 中使用 Xamarin Forms 创建的 Android 应用程序。但是,该应用程序在启动时崩溃,并且不显示任何输出。正常运行应用程序时,没有我...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.