xamarin 相关问题

Xamarin是一个由Xamarin.iOS,Xamarin.Android,Xamarin.Mac和Xamarin Test Cloud组成的平台。它允许您编写适用于iOS,Android和Mac的跨平台本机应用程序,并在整个生命周期内关注您的应用程序。 Xamarin.Forms的引入支持iOS,Android和Windows的Native UI开发

带有 Xamarin Forms 中 XAML 元素参数的构造函数

是否可以使用依赖注入服务使用参数化构造函数创建 XAML 元素?或者还有其他方法来传递依赖关系吗?我想要有一些depe的行为...

回答 2 投票 0

VS 2022 17.5.1 找不到 mac

在我今天将 Visual Studio 更新到 17.5.1 之前,这一直有效(我之前使用的是 17.4)。更新后,我的 Mac 将显示在 Visual Studio 中,但在尝试连接后显示主机

回答 2 投票 0

如何使用.NET MAUI中的代码访问全局资源字典中定义的样式?

我在 Styles.xaml 文件中定义了样式,例如: <Setter Property="Margin" Value=&q...</desc> <question vote="0"> <p>我在 Styles.xaml 文件中定义了样式,例如:</p> <pre><code>&lt;Style x:Key=&#34;LabelFiledVerticalStyle&#34; TargetType=&#34;Label&#34;&gt; &lt;Setter Property=&#34;Margin&#34; Value=&#34;0,7,0,0&#34; /&gt; &lt;/Style&gt; </code></pre> <h3>方式1</h3> <p>我想从我的代码隐藏文件中访问它,所以我这样做了:</p> <pre><code>var LabelStyle = (Style)Application.Current.Resources[&#34;LabelFiledVerticalStyle&#34;]; </code></pre> <p>当我运行该应用程序时,出现以下错误: 字典中不存在资源“LabelFiledVerticalStyle”</p> <h3>方式2通过代码通过key访问资源</h3> <p>我查阅了微软提供的官方文档,找到了其他方法。所以,也尝试过:</p> <pre><code>var hasValue = Resources.TryGetValue(&#34;LabelFiledVerticalStyle&#34;, out object style); if (hasValue) { var LabelStyle = (Style)style; } </code></pre> <p>在这方面我也得到了 hasValue = false,尽管样式存在于资源字典中。</p> <p>有人知道我们如何从代码隐藏中访问它吗?请告诉我。</p> </question> <answer tick="false" vote="0"> <p><strong>第一种方式</strong></p> <p>如果你想用第一种方式访问样式,我们通常在文件中定义样式<pre><code>App.xaml</code></pre></p> <p>例如,我们可以在<pre><code>App.xaml</code></pre>中定义样式,如下:</p> <pre><code> &lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt; &lt;Application xmlns=&#34;http://xamarin.com/schemas/2014/forms&#34; xmlns:x=&#34;http://schemas.microsoft.com/winfx/2009/xaml&#34; x:Class=&#34;Styles.App&#34;&gt;       &lt;Application.Resources&gt;             &lt;ResourceDictionary&gt;                   &lt;Style x:Key=&#34;buttonStyle&#34; TargetType=&#34;Button&#34;&gt;                         &lt;Setter Property=&#34;HorizontalOptions&#34; Value=&#34;Center&#34; /&gt;                         &lt;Setter Property=&#34;VerticalOptions&#34; Value=&#34;CenterAndExpand&#34; /&gt;                         &lt;Setter Property=&#34;BorderColor&#34; Value=&#34;Lime&#34; /&gt;                         &lt;Setter Property=&#34;CornerRadius&#34; Value=&#34;5&#34; /&gt;                         &lt;Setter Property=&#34;BorderWidth&#34; Value=&#34;5&#34; /&gt;                         &lt;Setter Property=&#34;WidthRequest&#34; Value=&#34;200&#34; /&gt;                         &lt;Setter Property=&#34;TextColor&#34; Value=&#34;Teal&#34; /&gt;                   &lt;/Style&gt; &lt;!-- ContentPage --&gt; &lt;Style TargetType=&#34;ContentPage&#34; ApplyToDerivedTypes=&#34;True&#34;&gt; &lt;Setter Property=&#34;BackgroundColor&#34; Value=&#34;WhiteSmoke&#34; /&gt; &lt;/Style&gt; &lt;!--define the style of Label here--&gt; &lt;Style x:Key=&#34;LabelFiledVerticalStyle&#34; TargetType=&#34;Label&#34;&gt; &lt;Setter Property=&#34;Margin&#34; Value=&#34;0,7,0,0&#34; /&gt; &lt;Setter Property=&#34;TextColor&#34; Value=&#34;Red&#34; /&gt; &lt;/Style&gt; &lt;/ResourceDictionary&gt;       &lt;/Application.Resources&gt; &lt;/Application&gt; </code></pre> <p>然后在我们的页面中,我们可以通过代码访问样式:</p> <pre><code>new Label { Text=&#34;test label&#34;,Style=(Style)Application.Current.Resources [&#34;LabelFiledVerticalStyle&#34;]} </code></pre> <p>使用示例:</p> <pre><code>public class ApplicationStylesPageCS : ContentPage       {             public ApplicationStylesPageCS ()             {                   Title = &#34;Application&#34;;                   IconImageSource = &#34;csharp.png&#34;;                   Padding = new Thickness (0, 20, 0, 0);                   Content = new StackLayout {                         Children = {                               new Button { Text = &#34;These buttons&#34;, Style = (Style)Application.Current.Resources [&#34;buttonStyle&#34;] },                               new Label { Text=&#34;test label&#34;,Style=(Style)Application.Current.Resources [&#34;LabelFiledVerticalStyle&#34;]}                         }                   };             }       } </code></pre> <p>有关更多信息,您可以查看文档<a href="https://learn.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/styles/xaml/application" rel="nofollow noreferrer">Xamarin.Forms中的全局样式</a>。</p> <p><strong>第二种方式</strong></p> <p>如果您创建一个<pre><code>ResourceDictionary</code></pre>(例如<pre><code>MyResourceDictionary.xaml</code></pre>)并将您的样式添加到<pre><code>ResourceDictionary</code></pre>,如下所示:</p> <p><pre><code>MyResourceDictionary.xaml</code></pre></p> <pre><code>&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt; &lt;ResourceDictionary xmlns=&#34;http://xamarin.com/schemas/2014/forms&#34; xmlns:x=&#34;http://schemas.microsoft.com/winfx/2009/xaml&#34;&gt; &lt;!--define the style of Label here--&gt; &lt;Style x:Key=&#34;LabelFiledVerticalStyle&#34; TargetType=&#34;Label&#34;&gt; &lt;Setter Property=&#34;Margin&#34; Value=&#34;0,7,0,0&#34; /&gt; &lt;Setter Property=&#34;TextColor&#34; Value=&#34;Red&#34; /&gt; &lt;/Style&gt; &lt;/ResourceDictionary&gt; </code></pre> <p>然后,如果我们想访问样式,我们应该将上面的 <pre><code>ResourceDictionary </code></pre> 添加到页面的 <pre><code>ContentPage.Resources</code></pre> 中。 </p> <pre><code>&lt;ContentPage.Resources&gt; &lt;!--add your ResourceDictionary here--&gt; &lt;ResourceDictionary Source=&#34;MyResourceDictionary.xaml&#34; /&gt; &lt;/ContentPage.Resources&gt; </code></pre> <p>您可以参考这里的示例代码:</p> <p><pre><code>ApplicationStylesPage.xaml</code></pre></p> <pre><code> &lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt; &lt;ContentPage xmlns=&#34;http://xamarin.com/schemas/2014/forms&#34; xmlns:x=&#34;http://schemas.microsoft.com/winfx/2009/xaml&#34; x:Class=&#34;Styles.ApplicationStylesPage&#34; Title=&#34;Application&#34; IconImageSource=&#34;xaml.png&#34;&gt;       &lt;ContentPage.Resources&gt; &lt;!--add your ResourceDictionary here--&gt; &lt;ResourceDictionary Source=&#34;MyResourceDictionary.xaml&#34; /&gt; &lt;ResourceDictionary&gt;                   &lt;Style x:Key=&#34;buttonStyle&#34; TargetType=&#34;Button&#34;&gt;                         &lt;Setter Property=&#34;HorizontalOptions&#34; Value=&#34;Center&#34; /&gt;                         &lt;Setter Property=&#34;VerticalOptions&#34; Value=&#34;CenterAndExpand&#34; /&gt;                         &lt;Setter Property=&#34;BorderColor&#34; Value=&#34;Lime&#34; /&gt;                         &lt;Setter Property=&#34;CornerRadius&#34; Value=&#34;5&#34; /&gt;                         &lt;Setter Property=&#34;BorderWidth&#34; Value=&#34;5&#34; /&gt;                         &lt;Setter Property=&#34;WidthRequest&#34; Value=&#34;200&#34; /&gt;                         &lt;Setter Property=&#34;TextColor&#34; Value=&#34;Red&#34; /&gt;                   &lt;/Style&gt;             &lt;/ResourceDictionary&gt;       &lt;/ContentPage.Resources&gt;       &lt;ContentPage.Content&gt;             &lt;StackLayout Padding=&#34;0,20,0,0&#34;&gt;                   &lt;Button Text=&#34;application style overrides&#34; Style=&#34;{StaticResource buttonStyle}&#34; Clicked=&#34;Button_Clicked&#34; /&gt;             &lt;/StackLayout&gt;       &lt;/ContentPage.Content&gt; &lt;/ContentPage&gt; </code></pre> <p><pre><code>ApplicationStylesPage.xaml.cs</code></pre></p> <p>      </p> <pre><code>public partial class ApplicationStylesPage : ContentPage       {             public ApplicationStylesPage ()             {                   InitializeComponent ();             } private void Button_Clicked(object sender, System.EventArgs e) { var hasValue = Resources.TryGetValue(&#34;LabelFiledVerticalStyle&#34;, out object style); if (hasValue) { var LabelStyle = (Style)style; } } } </code></pre> </answer> <answer tick="false" vote="0"> <p>我遇到了类似的问题,解决方案非常有帮助,但有一个警告:</p> <p>在常规的 Maui 应用程序中,资源不会位于 Resources 中,而是位于 App.Current.Resources 中,如果一开始上述解决方案不起作用,请使用此解决方案。</p> </answer> </body></html>

回答 0 投票 0

Xamari,不识别所有项目

当我创建 Xamarin 移动应用程序时,我刚刚注意到我没有主项目,就像照片中一样。 我看待项目的方式 主文件夹 你知道为什么会这样吗?我尝试修复...

回答 1 投票 0

Xamarin - PopAsync() 之后刷新列表

我正在使用 Xamarin 表单编写应用程序。当我使用 popAsync() 离开编辑列表的页面时,我想刷新上一页上的列表,以便显示我的更改......

回答 4 投票 0

当我使用“ValidateAntiForgeryToken”和“Authorize”时收到 400 错误请求

我在服务器端使用asp.net core,在客户端使用xamarin。我使用JWT令牌,我想同时验证伪造令牌。 这是我的客户端代码: 公共异步任务<

回答 4 投票 0

如何在 Xamarin.iOS 中使用 gif 与 UIImageView 而不使用第三方库?

我想在UIImageView中加载gif图像。我尝试将它与 FLAnimatedImage 一起使用,但没有成功。我已经在故事板中拍摄了 imageview 并将 gif 添加到资源中。

回答 3 投票 0

Android SDK Manager 中没有更改存储库的选项

错误截图 我目前正在 Visual Studio 2022 Community Preview 中进行编码。我用谷歌搜索了我的问题,发现将存储库更改为 Google 可以解决问题,但在我的 andr 中......

回答 2 投票 0

如何使 monotouch.dialog 在 .net maui 中工作

我有一项任务,要将使用 Xamarin.ios 构建的 IOS 应用程序迁移到 .NET MAUI。 它几乎完成了,但我坚持使用这个名为 MonoTouch.Dialog 的包,它与 不兼容。 NET.IOS。 我的是什么

回答 1 投票 0

Xamarin.forms 可以针对 android 14 ( sdk 34) 吗?

我正在尝试更新我的应用程序以按照官方公告(https://dotnet.microsoft.com/en-us/platform/support/policy/xamarin)指定的 Android 34 为目标 我尝试直接将清单文件更改为

回答 1 投票 0

Xamarin Essentials 的 FilePicker 不允许在 iOS 上选择任何文件

我需要在我的应用程序中导入 CSV/SQLite3 文件以从以前的离线备份恢复设置。我使用 Xamarin.Essentials.FilePicker,它在 Android 上完美运行,但是在 iOS 上尝试时......

回答 1 投票 0

如何使用 Swift API 创建与 Xamarin 一起使用的框架?

目前我是一家公司的实习生。 L.E.要求我使用 Xamarin 创建一个应用程序并包含 iOS (Swift) 的本机库。我的想法是创建一个应用程序,让人们使用...

回答 1 投票 0

在 Xamarin 项目中不使用 WebView 进行 Google 身份验证(以获取 rtmp URL)?

我正在尝试开发一个能够在 YouTube 上流式传输的 Xamarin 项目。 我想从用户帐户获取 rtmp URL。 但是,最近谷歌禁用了网络视图来授权应用程序获取

回答 1 投票 0

Xamarin 社区工具包 CameraView 提供的视频文件位置在 IOS 和 Android 上变得无效

我正在使用CameraView 拍摄一系列短视频。我希望稍后可以在应用程序内查看这些视频。我正在使用 MediaCaptured 事件来获取捕获的 v 的路径...

回答 1 投票 0

更新 3 年 Xamarin 应用程序的 NuGet 包后出现多个错误

我在 Visual Studio 上打开了我的计算机上的一个旧的废弃项目(大约 2-3 年)。我调试了应用程序,除了一些小问题(与...相关)之外,似乎处于工作状态

回答 1 投票 0


Xamarin Forms 在 API33 上读取和写入外部存储问题

曾经针对 Android 12 的 Xamarin Forms 应用程序。我所做的只是更改为针对 Android 13 (API33),当我这样做时,我无法再使用 READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_S...

回答 1 投票 0

在 .NET Maui 的 Mopup 窗口中打开导航页面

我正在使用 .NET Maui 编写一个应用程序并使用 Mopup Nuget 包。应打开一个弹出窗口,并从那里通过按钮打开导航页面。不幸的是,当点击...

回答 1 投票 0

如何用热敏打印机打印二维码

任何人都可以帮助我解决这种情况吗?我需要帮助使用 Xamarin.Forms(iOS 和 Android)打印 QR 码(我只需要 Android 版本)。 打印机型号:Eurosys POSIMPT9BT02(通用

回答 1 投票 0

这是确保取消订阅 Xamarin Prism 订阅的适当方法吗?

我有一个 Xamarin/Prism 应用程序(不是我的代码),它具有各种事件订阅和许多内存泄漏。我认为内存泄漏之一与这些事件订阅有关。这是...

回答 1 投票 0

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