XAMLは何ですか?
XAMLを使用すると、アプリケーションのマークアップ言語を拡張することができ、Microsoftは開発言語を作成しています。HTML + CSS + JavaScriptの役割を果たしました。
デフォルトWPFのプログラムを作成します。
PS実践:私たちは通常、直接ダウンロードVisual Studioとプログラムを開発するためのソリューション/プロジェクトを作成しますが、実際には、我々が使用するIDEコンパイラは、当社が開発したいコードのパラメータを設定して、いくつかの基本的なソースコード、州の準備ができて我々は)手動設定にアクセスしてください
デフォルトを作成し、我々は現在、溶液中のプロジェクトが表示されます。これは、次の支店が含まれています。
1.Propertiesブランチ:メインの内容の内部リソース(アイコン、画像、静的な文字列)と、構成情報を使用するには、
2.References支店:クラスライブラリ/他のプロジェクトに現在のプロジェクト参照のマーク
3.App.xaml支店:Windowsのシステム環境でのメインプログラムは、プログラムは、プロセス(工程)です。GUIプロセスは、メインフォームとしてフォームを必要とします。App.xaml役割は、プログラムを処理し、メインフォームは次のようになり、誰の陳述書を提出することです。
プログラムのメインフォーム:4.Window1.xaml支店
XAMLコード解析
私たちは部分クラス.xaml.csファイルは、次の.xamlに対応することになるでしょう.xaml.csファイルが存在します。そして、Winフォームは非常に類似していません。見にWindow1.xamlとWindow1.xaml.cs 2つのファイルを取ります。メインウィンドウWindow1.xaml.csの下の部分クラスは、以前の経験のWinForm Window1.xamlは、メインウィンドウそれ、それはまた、部分クラスに対応していないに基づいて、あるのでしょうか?のは、それがあると仮定しましょう、我々は内部のコードの行が表示されます
タイトル= " メインウィンドウ"高さ= " 450 "幅= " 800 "
私たちは、背後にあるコードでは、このような操作を実行します。
パブリック部分クラスのメインウィンドウ:ウィンドウ { パブリックメインウィンドウ() { のInitializeComponent(); VaRのAA = this.Title。 VAR BB = this.Height。 VaRのCC = this.Width。 ます。Debug.Print(aa.ToString()+ "==========" + bb.ToString()+ "=============" + cc.ToString() ); } }
結果は以下の通りでした:
メインウィンドウ========== 450 ============= 800
これは完全に私たちの推測を確認:メモリ内のオブジェクトは、対応するラベル文のXAML要素は、最も外側のラベル要素は部分クラスのコードビハインドであるとき。
XAML内のオブジェクト間の階層関係、横並びまたは含まれているのいずれかで、すべての関係タブに反映しました。バックグラウンドでそのクラスは、我々は別の名前空間を使用して参照することができ、XAMLコードでは、我々はのxmlnsで名前空間を定義する必要があり、次の形式を特徴:
xmlns:[オプションのマッププレフィックス] = "名前空間"。デフォルトのXAMLコードを見てください:
< ウィンドウ のxmlns = " http://schemas.microsoft.com/winfx/2006/xaml/presentation " のxmlns:X = " http://schemas.microsoft.com/winfx/2006/xaml " のxmlns:D = " HTTP ://schemas.microsoft.com/expression/blend/2008 " のxmlns:MC = " http://schemas.openxmlformats.org/markup-compatibility/2006 " のxmlns:ローカル = " CLR名前空間:MyFirstWpfApplication 「 X:クラス = " MyFirstWpfApplication.MainWindow " MC:無視= " D " タイトル = " メインウィンドウ"高さ= " 450 "幅= " 800 " > <グリッド> </グリッド> </窓>
私たちは、つまり、「5つのデフォルトの名前空間を挙げています。」、コードの5行はのxmlnsで始まり見つけることができます
ここで、x:とMC:上記の引用された文の先頭には、コールネームスペースことを示しています。
X:これは、XAML言語を解析するために関連するクラスが含まれています。
X:クラス=「MyFirstWpfApplication.MainWindowは、」ウィンドウクラス名はC#クラスに解決現在のラベルを表しています。また、これは私達の証明、それがなかった部分クラスの背景の始まりです。Xへの属性の下で、唯一のルートのために、ルートノードのタイプ:によって示されるクラスタイプ(およびクラスの一部門である)一貫したそれはXです。
補足X名前空間の下にその他の属性:
X:名前:名前値:この例では、ラベルに対応するインスタンス変数は、名前が変数xで生成するための基準を宣言するためにも、コンパイラに伝えます。名前を、そして見つけやすいUIツリーに登録:だけでなく、オブジェクトに対応するNameプロパティのXAMLタグはまた、Xに設定されています。
X:要素を設定FieldModeiferアクセスレベル
X:キーは、キーと値のペアを使用して
XAML構文
XAML文書はツリー構造であります
まずXAMLコードは、論理プログラミングを実行することはできませんし、初期化するために必要なときに我々はラベルオブジェクトを作成するときに、そのプロパティは、意味のある用途を持っている:オブジェクトプロパティの構文の指定にXAML。2つの方法でオブジェクトのプロパティの割り当て
1.単純な文字列の割り当てを使用してください。その単純な代入attribute = valueの構文、文法上の制約により、XAMLは、値のみの文字列値を指定できます。
2.プロパティ要素の複雑な割り当てを使用してください。Attribute要素は、プロパティに対応するタグにラベルの要素を指し、すなわち、特性の例に元素形態で発現。
名前空間の参照のためのXAML構文
xmlns:[マップ名] =「CLR名前空間:クラスライブラリの名前空間の名前;アセンブリ=ライブラリファイル名」