【问题标题】:references in xamarin forms XAMLxamarin 表单中的引用 XAML
【发布时间】:2018-03-30 00:36:30
【问题描述】:

您将如何在 XAML 与代码后面进行引用?以下片段中的 mrkup:Class="System.Web.UI.HtmlTextWriterTag" 似乎可以工作

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="ns.proj"
         mrkup:Class="System.Web.UI.HtmlTextWriterTag"
         >
        ...

允许以下。

    <mrkup:hr/>

我仍然收到未声明的前缀错误。

我已尝试将树备份到 System.Web.UI 并确保我没有使用像 html:xx 这样的保留字,但它仍然失败。我一定是忽略了一些基本的东西或严重遗漏了 XAML/Xamarin.Forms 前提。


更新编辑:

根据 Jason 和 Diego 的意见: Intellisense 在输入 using xmlns:mrkup="using: 后启动,导致

xmlns:mrkup="clr-namespace:System.Web;assembly=netstandard"

这是一个很好的开始

 <mrkup:UI.HtmlTextWriterTag hr=""/>

失败,mrkup:UI.HtmlTextWriterTag.hr not found in xmlns clr-Namespace:System.Web;assembly=netstandard

.UI 是否可能不在 .NET Standard 2.0 的 System.Web 中?


更新到更新:

在 .NET Standard 2.0 的 System.Web 中,UI 似乎 不是。这是来自 C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback\NETStandard.Library\2.0.1\build\netstandard2.0\ref

中的 System.Web.dll

【问题讨论】:

  • 要使用一个新的命名空间,你必须用“xmlns”声明它

标签: xaml xamarin.forms


【解决方案1】:

其实在使用之前你得先声明mrkup前缀。

就像这样:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="ns.proj"
             xmlns:mrkup="clr-namespace:System.Web.UI;assembly:dllName">
...
    <mrkup:HtmlTextWriterTag hr="Property Value"/>
...
</ContentPage>

我不确定命名空间在哪里结束,所以在上面的 sn-p 中,我假设命名空间是 System.Web.UI 和类 HtmlTextWriterTag,然后你有一个属性 hr 。如果引用的命名空间在实际项目之外,您必须注意声明的assembly 部分,但在引用同一程序集的类时可以忽略它。

您可以查看official docs from Microsoft about Declaring Namespaces for Types以获取更详细的信息。

【讨论】:

  • Intellisense 在使用 xmlns:mrkup="using: 键入后启动,导致 xmlns:mrkup="clr-namespace:System.Web;assembly=netstandard" 现在找出如何深入 UI和 HtmlTextWriterTag。
  • 虽然没有专门针对 System.Web.UI.HtmlTextWriterTag 的答案。我觉得这是添加对 Xamarin.Forms XAML 的引用的基本问题的答案。将其标记为这样。
  • 我可能是错的,但我不相信您可以在 Xamarin.Forms 项目中引用 System.Web... =/ 您可以搜索(如果不存在则打开)到弄清楚UI is not in System.Web in .NET Standard 2.0
  • 我更新了帖子以在 .NET Standard 2.0 中显示 System.Web 的 ILSpy 您可以引用它,但页面上没有要“显示”的 UI 元素。
猜你喜欢
  • 1970-01-01
  • 2023-03-04
  • 2017-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多