xamarin中的引用形式XAML

时间:2018-03-29 15:14:29

标签: xaml xamarin.forms

你如何在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的输入: 在使用xmlns输入之后,智能感知开始了:mrkup =&#34;使用:导致

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

这是一个很好的开始

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

在xmlns clr-Namespace中找不到 mrkup:UI.HtmlTextWriterTag.hr失败: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

UI is **NOT** in System.Web in .NET Standard 2.0

1 个答案:

答案 0 :(得分: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>

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

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