mc:Ignorable 屬性

指定XAML處理器可以忽略在標記檔案中遇到的XML命名空間前置詞。 mc:Ignorable 屬性支援自定義命名空間對應和 XAML 版本設定的標記相容性。

XAML 屬性使用方式 (單一前置詞)

<object
  xmlns:ignorablePrefix="ignorableUri"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  mc:Ignorable="ignorablePrefix"...>
    <ignorablePrefix1:ThisElementCanBeIgnored/>
</object>

XAML 屬性使用方式 (雙前置詞)

<object
  xmlns:ignorablePrefix1="ignorableUri"
  xmlns:ignorablePrefix2="ignorableUri2"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  mc:Ignorable="ignorablePrefix1 ignorablePrefix2"...>
    <ignorablePrefix1:ThisElementCanBeIgnored/>
</object>

XAML 值

價值觀 說明
ignorablePrefix, ignorablePrefix1, etc. 根據 XML 1.0 規格的任何有效前置字串。
ignorableUri 根據 XML 1.0 規格指定命名空間的任何有效 URI。
ThisElementCanBeIgnored 如果無法解析基底類型,可由 Extensible Application Markup Language (XAML) 處理器實作忽略的項目。

備註

推薦在映射 XAML 相容性命名空間http://schemas.openxmlformats.org/markup-compatibility/2006時使用的 XML 命名空間前置詞為mc。

元素或屬性,其中元素名稱的前置部分被識別為 mc:Ignorable,在由 XAML 處理器處理時不會引發錯誤。 如果無法將該屬性解析為基底類型或程式設計建構,則會忽略該元素。 不過請注意,被忽略的元素可能仍會因該元素未被處理而產生附帶的額外解析錯誤,這些錯誤來自額外的元素需求。 例如,特定元素內容模型可能只需要一個子元素,但如果指定的子元素位於 前綴中,而且指定的子元素無法解析為類型,則 XAML 處理器可能會引發錯誤。

mc:Ignorable 僅適用於將命名空間對應至識別碼字串。 mc:Ignorable 不適用於命名空間對應至元件,這些對應會指定一個 CLR 命名空間和一個元件(或者預設為目前的可執行檔做為元件)。

如果您要實作 XAML 處理器,則在類型解析時,您的處理器實作不應對任何由前置詞 mc:Ignorable 限定的項目或屬性引發剖析或處理錯誤。 但是,您的處理器實作仍然可能發生因元素無法載入或處理而產生的次要例外情況,例如之前提供的單一子元素範例。

根據預設,XAML 處理器會忽略可忽略項目內的內容。 不過,您可以指定額外的屬性,mc:ProcessContent 屬性,以要求由下一個可用的父元素繼續處理被忽略元素內的內容。

在屬性中可以指定多個字首,使用一個或多個空白字符作為分隔符號,例如:mc:Ignorable="ignore1 ignore2"。

http://schemas.openxmlformats.org/markup-compatibility/2006 命名空間定義了未在這個 SDK 區域內記載的其他元素和屬性。 如需詳細資訊,請參閱 XML 標記相容性規格。

另請參閱

  • XamlReader
  • PresentationOptions:Freeze 屬性
  • WPF 中的 XAML
  • WPF 中的文件