Xamarin 卡在“找到的设备:emulator-5554”
Xamarin 卡在“找到的设备:emulator-5554”处 我目前正在学习用于 Android 应用程序开发的 Xamarin。几天前我安装了 Visual Studio 的 Xamarin 工作负载。今天我建立了一个你好......
自定义 ListViewItem 控件显示类名称,而常规 ListView 控件显示实际数据
以下是 WPF 应用程序的代码片段,其中我使用 ListView 控件和自定义 ListView 控件,但在 UI 中自定义 ListView 控件显示类名称,其中为 List View
LinearLayout 不显示所有 ListView,只显示一个孩子
我有一些数据将显示在 ListView 中。问题是一切都很顺利,但 ListView 或 LinearLayout 没有足够的扩展来显示 CustomListV 的所有子项...
我希望在 QML ListView 中居中显示项目,因此我在 ListView 中添加了以下代码: 导入QtQuick 2.0 导入Qt多媒体5.5 导入 QtQuick.Controls 1.3 导入 QtQuick.Ex...
Xamarin Forms 或 .NET Maui 中 RevenueCat 应用内功能的示例代码?
我在这里发布一些示例代码,因为在使用 RevenueCat 开发 Xamarin Forms 应用程序时找不到任何示例代码。
使用 MKCreateClusterAnnotation Xamarin Forms 显示集群视图
如何使用 ios 地图渲染对 pin 结果进行分组或聚类? 我尝试了以下逻辑,但我在实现中感到困惑。 https://github.com/xamarin/ios-samples/blob/main/ios11/MapKitS...
无法在 QML ListView 中显示来自 QSqlQueryModel 的数据
说明: 我遇到一个问题,无法在 QML ListView 中显示从 QSqlQueryModel 检索的数据。尽管在C++后端成功加载数据并确认...
我想为我的 Android 应用程序添加声音效果。我正在使用 Xamarin 4.2 并使用 C# 进行编码。我搜索并找到了有关如何制作声音效果的示例,但找不到 C# 或我找到的示例...
我正在 Xamarin 上编写一个项目,我的任务是限制用户从除默认 Android 相机之外的任何应用程序获取照片。我曾尝试使用 ActionImageCapture 打开相机,但有一些
我正在尝试(徒劳地)为我的 ListView 项目添加边距。我尝试在下面的相对布局中添加边距值,但无论我做什么,我似乎得到的只是每个项目之间有一条 1px 的线。 什...
如何循环遍历从ObjectBox数据库生成的Flutter ListView图块?
我有一个 Flutter 应用程序,它使用 ObjectBox 来存储后端数据,这是 Product 对象的列表。我创建了一个 ListView Tile 小部件来显示名为 ProductTile 的数据。我生成一个列表...
类 ReportView(AdminOnlyMixin, ListView): 型号 = 家庭清洁工 template_name = 'home_clean/report/store_list.html' context_object_name = '商店' 分页依据 = 20 排序 = ['-id'] 有效状态...
将 Xamarin UWP 应用程序升级到毛伊岛后,新更新拒绝安装
这几乎正是我所发生的事情:https://learn.microsoft.com/en-us/answers/questions/1000760/migrate-uwp-app-to-maui-windows-error-after-更新?评论=问题#最新问题-
Xamarin MediaPicker 在 Android 11 上保存图像,但在 Android 10 上不保存图像
我正在关注 Xamarin.Essentials:媒体选择器 我有两个 Android 设备用于测试,安装了 android 11 的设备拍摄照片并将其保存到手机上,另一个
将 Xamarin 应用程序移植到毛伊岛。很少发生启动崩溃。 (不超过五分之一)
似乎在GC线程上。 (单原) mono sgen 正在调用 CryptoNative_HmacUpdate,然后运行一些 java,然后在 libcrypto.so 中调用 HMAC_Update(这是一个本机 android lib,例如...
我有一个关于使用“标签”的问题: 我有一个 ListBox 或 ListView,其中有对象的名称,我添加了一个“Tag”属性来查找其相应的对象: 为了...
如何在MAUI iOS中使用1x、2x和3x .png图像?
我知道我们必须使用 .svg 图像格式而不是 1x,2x,3x .png 图像格式,MAUI 会处理它,但我目前正在将现有的 Xamarin Forms 应用程序迁移到 MAUI,并且很难转换.. .
我过去问过这个问题,得到的答案是这是一个错误,它将在 NET8 中修复。 使用新版本的框架,问题仍然存在。当我跑步时...
我再次需要你的帮助。 我有一个按标题第一个字母分组的电影列表 我正在编写一个例程,当按下两个键(PageDown 和 PageUp)时,将放置在...
Flutter:在 GridView 平铺中使用 GestureDetector 进行点击延迟
通常,以下行为本质上是快速的。然而,在 GridView (或我假设的任何 ScrollView (也尝试过 ListView))内,性能似乎非常差。当我点击屏幕时,...
我有一个包含文档和 SP listView 扩展的文件夹。我希望能够在选择文件夹中的文档后检索文档 ID,以便使用它们执行 Graph API 请求...
在我的项目中,我使用 SQLite 将 API 调用中的数据保存到移动数据库。我想根据日期和时间按升序从移动数据库中获取列表视图数据。 日期
我有一个包含 id、名称和价格的列表视图。每个这样的项目都有一个带有类别的子列表。 所以“对于每个”项目我想显示所有子项目。 它应该是这样的: 但我不知道...
我正在尝试向我的列表添加一个简单的滑动操作。但由于某种原因无法按下该按钮。当我执行完全滑动时,它会起作用。 这是我的代码: var listView: 一些视图 { 李...
如何在项目添加到列表时通知用户,而无需在 flutter 中刷新整个列表
在flutter中,我有一个listView,它从列表中获取它的项目,并且该列表是从互联网下载的,每当将新项目添加到列表中时,我都会有一个事件告诉应用程序添加了新项目,...
WinUI 3 - 以编程方式滚动到 ItemsControl 中的虚拟化项目(不是 ListView)
我正在使用一个相当典型的模板创建一个自定义 ItemsControl 子类: <Setter Property="ItemsPanel"> <Setter....</desc> <question vote="0"> <p>我正在使用一个相当典型的模板创建一个自定义的 <pre><code>ItemsControl</code></pre> 子类:</p> <pre><code><Style TargetType="local:MyControl"> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <ItemsStackPanel Orientation="Vertical" /> <!-- or VirtualizingStackPanel; not really sure why there are two different seemingly identical virtualization panels --> </ItemsPanelTemplate> </Setter.Value> </Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:MyControl"> <ScrollViewer x:Name="ScrollViewer" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"> <ItemsPresenter /> </ScrollViewer> </ControlTemplate> </Setter.Value> </Setter> </Style> </code></pre> <p>其中 <pre><code>MyControl</code></pre> 是 <pre><code>ItemsControl</code></pre> 的子类。</p> <p>我需要一种通过内容甚至索引以编程方式滚动到项目的方法,这可能尚未在屏幕上实现,因为屏幕上的项目高度不统一。</p> <p>对于 <pre><code>ListView</code></pre>,我可以使用 <pre><code>ScrollIntoView</code></pre>,但我不想从 <pre><code>ListView</code></pre> 派生,因为它带有很多我想要替换/覆盖的功能。</p> <p>在WPF中<pre><code>VirtualizingStackPanel</code></pre>有<a href="https://learn.microsoft.com/en-us/dotnet/api/system.windows.controls.virtualizingpanel.bringindexintoviewpublic?view=windowsdesktop-8.0" rel="nofollow noreferrer">BringIndexIntoViewPublic</a>,但现在似乎不存在了,我在WinUI<pre><code>VirtualizingStackPanel</code></pre>或<pre><code>ItemsStackPanel</code></pre>中找不到任何等效的东西。</p> <p>在 WinUI 源代码中 <pre><code>ListView.ScrollIntoView</code></pre> 似乎在 <pre><code>ItemsPresenter</code></pre> 中使用了很多我无法访问的内部/本机功能。</p> <p>有没有办法在不子类化的情况下做到这一点<pre><code>ListView</code></pre>?</p> </question> <answer tick="false" vote="0"> <p>您尝试过 ItemsView 控件吗?</p> <pre><code><ItemsView x:Name="ItemsViewControl" ItemsSource="{x:Bind Items}" /> </code></pre> <p>然后在代码隐藏中:</p> <pre><code>int targetIndex = 123; this.ItemsViewControl.StartBringItemIntoView(targetIndex, new BringIntoViewOptions()); </code></pre> </answer> </body></html>
iOS 显示与 Android .Net MAUI Telerik 不同
我有以下适用于 Android 和 iOS 的代码,但是当运行和显示它时,一切都变得不正常或移动,这是为什么? 我有以下适用于 Android 和 iOS 的代码,但是当运行和显示它时,一切都变得不正常或移动,这是为什么? <telerik:RadListView x:Name="listView" ItemsSource="{Binding SPagina}" Margin="10" BackgroundColor="LightGray"> <telerik:RadListView.ItemTemplate > <DataTemplate> <telerik:ListViewTemplateCell > <telerik:ListViewTemplateCell.View> <StackLayout Margin="0,0,0,10" BackgroundColor="LightGray"> <telerik:RadBorder BorderColor="#44185f" Margin="0,1,0,1" CornerRadius="5" BorderThickness="3" Background="White" Padding="7"> <Grid > <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="10"/> <RowDefinition Height="Auto"/> <RowDefinition Height="10"/> <RowDefinition Height="Auto"/> <RowDefinition Height="10"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Label Grid.Row="0" Grid.ColumnSpan="6" TextColor="#3A023A" Text="{Binding TituloPublicacion}" FontSize="16" FontAttributes="Bold" FontFamily="Arial"/> <Label Grid.Row="2" Grid.Column="0" Text="Tipo:" FontSize="14"/> <Label Grid.Row="2" Grid.Column="1" Text="{Binding Tipo}" FontSize="14"/> <Label Grid.Row="2" Grid.Column="2" Text="Año:" FontSize="14"/> <Label Grid.Row="2" Grid.Column="3" Text="{Binding Anio}" FontSize="14"/> <Label Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Text="Congreso/Revista:" FontSize="14"/> <Label Grid.Row="4" Grid.Column="2" Grid.ColumnSpan="2" Text="{Binding RevistaCongreso}" FontSize="14"/> <Label Grid.Row="6" Grid.Column="0" Text="Autores: " FontSize="12"/> <Label Grid.Row="6" Grid.Column="1" Grid.ColumnSpan="6" Text="{Binding Autores}" FontSize="12"/> </Grid> </telerik:RadBorder> </StackLayout> </telerik:ListViewTemplateCell.View> </telerik:ListViewTemplateCell> </DataTemplate> </telerik:RadListView.ItemTemplate> 问题是两个设备上的视图看起来不同。 我放置了以下示例图像。 安卓: iOS: 为什么会出现这种情况? ... RadListView 是他们的 ListView 版本,请改用他们的 CollectionView :https://www.telerik.com/maui-ui/collectionview <telerik:RadCollectionView x:Name="collectionView" ItemsSource="{Binding SPagina}" Margin="10" BackgroundColor="LightGray">
我想消除在 Xamarin.Forms 中输入密码时的延迟。我在互联网上没有找到任何解决方案。 我想消除在 Xamarin.Forms 中输入密码时的延迟。我在网上没有找到任何解决方案。 <local:NoDelayEntry x:Name="passwordEntry" Placeholder="Password" /> class NoDelayEntry : Entry { public NoDelayEntry() : base() { this.TextChanged += OnEntryTextChanged; } private void OnEntryTextChanged(object sender, TextChangedEventArgs e) { // Customize the behavior as needed this.IsPassword = true; this.Text = new string('●', e.NewTextValue.Length); } } 到目前为止我已经尝试过以下操作;但是,当我登录时,原始密码文本被替换为“●”。有没有办法在保留原始密码的同时仍然使用屏蔽行为? 一种想法是使用一个标签来遮盖密码字段,该标签会更新以显示键入的点数,但我不确定如何保持标签下方的密码字段可选。
棱镜:ViewModelLocator.AutowireViewModel 不适用于内容视图
我正在将使用 Prism 的 Xamarin.Forms 应用程序迁移到 .NET Maui。该应用程序有一个 TabbedPage 导航。此迁移有效。 但是 ContentPages 包含几个 ContentView,如下所示: 我正在将使用 Prism 的 Xamarin.Forms 应用程序迁移到 .NET Maui。该应用程序有一个 TabbedPage 导航。此迁移有效。 但是 ContentPages 包含几个 ContentView,如下所示: <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:views="clr-namespace:MauiDemo.Views" x:Class="MauiDemo.Views.HomePage" Title="HomePage"> <VerticalStackLayout> <views:FirstContentView HeightRequest="200"/> <views:SecondContentView HeightRequest="200"/> </VerticalStackLayout> </ContentPage> 在 Xamarin 中,我能够将 prism:ViewModelLocator.Autowire="true" 属性添加到 contentview 中,并且 prism 找到了关联的视图模型。在 .NET maui 中,prism:ViewModelLocator.AutowireViewModel="Automatic" 属性没有任何作用。 例如,ContentView 的名称是 “FirstContentView”。关联的viewModel的名称是“FirstContentViewViewModel” 根据https://prismlibrary.com/docs/maui/migration.html中的描述,它应该可以工作,但事实并非如此。 配置这样的自动接线有什么技巧吗? 我使用 prism 存储库的当前克隆 https://github.com/PrismLibrary/Prism 以及带有最新 MAUI 组件的当前 .NET8 SDK 我使用区域而不是通过自动装配。具有不同 ContentView 的页面应该如下所示 <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:views="clr-namespace:MauiDemo.Views" xmlns:prism="http://prismlibrary.com" x:Class="MauiDemo.Views.HomePage" Title="HomePage"> <VerticalStackLayout> <ContentView prism:RegionManager.RegionName="FirstContent"/> <ContentView prism:RegionManager.RegionName="SecondContent"/> </VerticalStackLayout> </ContentPage> 所需的视图及其视图模型应在 MauiProgram 中注册为 RegisterForRegionNavigation container.RegisterForRegionNavigation<FirstContentView, FirstContentViewViewModel>(); container.RegisterForRegionNavigation<SecondContentView, SecondContentViewModel>(); .UsePrism(prism => { prism.RegisterTypes(container => { container.RegisterForNavigation<MainPage,MainPageViewModel>(); container.RegisterForNavigation<HomePage>(); container.RegisterForRegionNavigation<FirstContentView, FirstContentViewViewModel>(); container.RegisterForRegionNavigation<SecondContentView, SecondContentViewModel>(); }) .CreateWindow(navigationService => navigationService.CreateBuilder() .AddSegment<MainPage>() .NavigateAsync(HandleNavigationError)); }) 包含多个ContentView的页面的ViewModel应该为所需的ContentView调用RegionManager.RequestNavigate方法。 public class HomePageViewModel : ViewModelBase, IInitialize { private readonly IRegionManager _regionManager; public HomePageViewModel(IRegionManager regionManager) { _regionManager = regionManager; } public void Initialize(INavigationParameters parameters) { _regionManager.RequestNavigate("FirstContent", nameof(FirstContentView)); _regionManager.RequestNavigate("SecondContent", nameof(SecondContentView)); } } 仅此而已。它的工作原理如https://xamgirl.com/prism-regions-in-xamarin-forms/所述
如何在 Xamarin Forms 中缩放 WebView?
我无法缩放 Xamarin.Forms 中的 Web 视图。下面是代码,请有人帮助我。谢谢 我无法缩放 Xamarin.Forms 中的 Web 视图。下面是代码,请有人帮助我。谢谢你 <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="highchart.MainPage"> <ScrollView> <WebView VerticalOptions="FillAndExpand" WidthRequest="80" HorizontalOptions="FillAndExpand"> <WebView.Source WebView.EnableZoomControls="true" WebView.ScalesPageToFit = "true"> <HtmlWebViewSource x:Name="HighChart"/> </WebView.Source> </WebView> </ScrollView> </ContentPage> 针对 Android 特定(在共享项目 [FORMS] 内) XAML 解决方案: <ContentPage ... xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"> <WebView Source="https://www.xamarin.com" android:WebView.EnableZoomControls="true" android:WebView.DisplayZoomControls="true" /> C# 解决方案: using Xamarin.Forms.PlatformConfiguration; using Xamarin.Forms.PlatformConfiguration.AndroidSpecific; ... WebView.On<Android>().EnableZoomControls(true); WebView.On<Android>().DisplayZoomControls(true); 我在iOS上的Android上测试过,看来这个问题只出现在Android上。 您可以创建一个自定义渲染器来实现缩放功能,它在我这边工作得很好。 [assembly: ExportRenderer(typeof(WebView), typeof(CustomWebViewRenderer))] namespace PDFPOC.Droid { public class CustomWebViewRenderer : WebViewRenderer { public CustomWebViewRenderer(Context context) : base(context) { } protected override void OnElementChanged(ElementChangedEventArgs<WebView> e) { base.OnElementChanged(e); if (e.NewElement != null) { Control.Settings.AllowUniversalAccessFromFileURLs = true; Control.Settings.SetSupportZoom(true); Control.Settings.BuiltInZoomControls = true; Control.Settings.DisplayZoomControls = true; } } } }
我看到了一个非常奇怪的行为,我创建了一个名为 ObservationsListView 的 ContentView 我看到了一个非常奇怪的行为,我创建了一个名为 ObservationsListView 的 ContentView <Grid x:Class="NedChatApp.Custom.ObservationsListView" xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:custom="clr-namespace:NedChatApp.Custom" xmlns:modelObs="clr-namespace:NedChatApp.Models.Observations" Padding="10" x:DataType="custom:ObservationsListView"> <Frame Style="{StaticResource CardView}"> <VerticalStackLayout Grid.Column="1" Padding="10" Spacing="10" VerticalOptions="Center"> <Label HorizontalOptions="Center" Style="{StaticResource MediumLabelBold}" Text="{Binding ClassName}" /> <CollectionView ItemsSource="{Binding Observations}" SelectionMode="None"> <CollectionView.ItemTemplate> <DataTemplate x:DataType="modelObs:ObservationStudentComplete"> <custom:ObservationView Icon="{Binding Icon}" IsNegative="{Binding IsNegative}" ObservationText="{Binding ObservationText}" /> </DataTemplate> </CollectionView.ItemTemplate> </CollectionView> </VerticalStackLayout> </Frame> </Grid> CS 是 public partial class ObservationsListView : Grid { public static readonly BindableProperty ClassNameTextProperty = BindableProperty.Create(nameof(ClassName) , typeof(string) , typeof(ObservationsListView) , null , propertyChanged: (bindable, value, newValue) => ((ObservationsListView)bindable).ClassName = (string)newValue); public string ClassName { get => (string)GetValue(ClassNameTextProperty); set => SetValue(ClassNameTextProperty, value); } public static readonly BindableProperty ObservationsProperty = BindableProperty.Create(nameof(Observations) , typeof(List<ObservationStudentComplete>) , typeof(ObservationsListView) , new List<ObservationStudentComplete>() , propertyChanged: (bindable, value, newValue) => ((ObservationsListView)bindable).Observations = (List<ObservationStudentComplete>)newValue); public List<ObservationStudentComplete> Observations { get => (List<ObservationStudentComplete>)GetValue(ObservationsProperty); set => SetValue(ObservationsProperty, value); } public ObservationsListView() { InitializeComponent(); } } 我在这样的页面中使用它 <CollectionView x:Name="ObservationsList" HeightRequest="{Binding ObservationsHeight}" ItemsSource="{Binding Observations}" SelectionMode="None"> <CollectionView.ItemTemplate> <DataTemplate x:DataType="modelObs:ClassObservationReactions"> <custom:ObservationsListView Observations="{Binding Observations}" /> </DataTemplate> </CollectionView.ItemTemplate> </CollectionView> 这是使用的模型,ClassObservationReactions public class ClassObservationReactions { public long ClaseId { get; set; } public string ClassName { get; set; } public DateTime Date { get; set; } public List<ObservationStudentComplete> Observations { get; set; } } 奇怪的是,即使控件中未设置 ClassName,它在运行应用程序时仍然显示正确的值,那么是否存在某种自动绑定? 如果我尝试像这样手动绑定值 <custom:ObservationsListView ClassName="{Binding ClassName}" Observations="{Binding Observations}" /> 我收到此错误 找不到“ClassName”的属性、BindableProperty 或事件,或者值和属性之间的类型不匹配。 在 .NET MAUI 中,CollectionView 和 ListView 等视图通过使用 ItemTemplate 支持数据绑定。您所说的“自动绑定”概念可能描述了 ItemTemplate 如何自动绑定到 ItemsSource 提供的集合中的每个项目。简单来说,当 ItemsSource 绑定到集合时,框架会自动将该集合中的每个项目绑定到 ItemTemplate 上,确保每个数据项都按照模板显示。 关于第二点,看起来您正在尝试在自定义 ClassName 中设置 ContentView 属性,但在相应的代码隐藏文件中,只有两个 BindableProperty 定义: ClassNameText 和 Observations。如果我理解正确,这可能是模型属性和视图属性之间的混淆。要解决此问题,您应该按如下方式修改绑定: <custom:ObservationsListView ClassNameText="{Binding ClassName}" Observations="{Binding Observations}" />