WPF XAML名前空間

WPF XAML名前空間

开发工具与关键技术:Visual Studio 2015、WPF
作者:黄元进
撰写时间:2019年5月5日

それが自動的に生成されるので、我々は通常、約そんなに心配する必要はありませんでした、XAMLファイルの先頭には、同様のhttpプロトコル文字列を持って見ることができます。しかし、サードパーティ製のコントロールプロジェクト参照を移行するとき、しばしばそのため、いくつかのミスにつながり、何を表すのは、最終的にはこれらのHTTPの文字列を見てみましょうか?

<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="MainWindow" Height="1080" Width="1920">
<Grid>
</Grid>
</Window>

それは名前空間(アセンブリ)への参照であるが、少し混乱することができるそこで始まる名前空間URLのCLR名前空間を使用するが、それは実際にURLを表しますか?解析されたXAMLファイルには、このURLを訪問するのはいつですか?この日は、私たちのプログラムが正常に動作しませんではないURLを取得できない場合。
私はなぜの段階の分析バイステップで、最初にあなたの結論を伝えるためにここにいます。
実際には、=ののxmlns "と非常にシンプルhttp://schemas.microsoft.com/winfx/2006/xaml/presentation文字列、例えば、実際には、System.Windows、System.Windows.Automation、System.Winjdows.Controls ...そのような名前空間のコレクションとして、このコレクションは、[エイリアス]は、時々アクセスできないブラウザにURLを入力している。クラスライブラリのその定義は、私はジョー・スミスも可能であると呼ばれているこの[エイリアス]を入れた場合。マイクロソフト彼は、同社が一般的にURL、または個人的なウェブサイトのように定義されていることを示唆しました。

  1. 逆コンパイル
    、それぞれ「URL」は、実際に、共通の名前空間の背景を表してマップを作ったので、私たちは、異なるシステムを参照すると、自動的に別の追加されますDLLコンポーネントに付属している「URLを。」
    2.「URL」の名前空間をカスタマイズ
    アセンブリ情報AssemblyInfo.csファイルで次の文を追加し、カスタムコントロールを追加し、(ここではClassLibrary1の名前の)新しいクラスライブラリを作成するには:
//用网址映射常规命名空间
ClassLibrary1[assembly: XmlnsDefinition("http://agriplatform.top", "ClassLibrary1")]

XmlnsDefinition System.Windows.Markupは、そうでない場合、この関数は何もあり、名前空間を使用する必要がない、System.Xaml.dll、WindowsBase.dll 2つのアセンブリを引用してください。
XAMLマッピングアセンブリとCLR名前空間との間の空間を命名することによって指定され、そのオブジェクトまたはタイプの解決のためのXAML XAMLスキーマコンテキストそれを書きます。いくつかは、ここで私は、カスタムコントロールが掲載入れ、全体の基盤を記述する必要はないかもしれません。

<UserControl x:Class="ClassLibrary1.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="20" d:DesignWidth="30" x:Name="MyControl">
    <Grid>
        <Button x:Name="UserBtn" Width="30" Height="20" Content="你好"/>
    </Grid>
</UserControl>

3.解決「URL」名前空間
の新しいWPFプロジェクトを作成するために、我々はここにURLを含む基準の2種類を、与えられています。

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:ss="http://agriplatform.top"
        xmlns:local="clr-namespace:ClassLibrary1;assembly=ClassLibrary1"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <ss:UserControl1/> 
    </Grid>
</Window>

、非常に単純なSSのURLへの参照を参照してくださいされていません。
概要:XAML Webサイト共通の名前空間に対応するマップで、URLを形成することはできません

おすすめ

転載: blog.csdn.net/weixin_44547949/article/details/89855944