WPFノートXAMLについて
4311 ワード
WPFノートXAMLについて
一XAMLの起源と実現の特徴
1.1 XAMLの起源
XAMLはXMLのバリエーションから来ており、主にWPFにおけるインタフェースディスプレイ層を実現するために設計されたバリエーションである(すなわち、XAMLはWPFにおいてUIを設計するために特化されたものである).XAMLには明示的な言語のみが含まれており,論理コードを加えることはできない(実際には,論理とUIの分離が強制される).なぜXMALは論理とUIの分離を実現できるのか.
1.2 XAMLのattribute
XAMLの基本構成は一連のラベルおよびラベルのattributeである.attributeはpropertyとは違います.
1.3 XAMLのネームスペース
ネームスペースとは、一連のURLのようなものを指します.この串は何の役に立つのですか.
` xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"`
対応するのは2つの基本的な名前空間(クラスライブラリ)を導入し、最初の名前空間はwindows、button、stackpanelなどの様々なUI要素を含むWPFの展示クラスライブラリを表す.2番目の名前空間はXAMLコンパイラクラスライブラリの導入を表し,これによりXAMLの解析を勝ち取ることができる.なぜhttpサイトに似ているのでしょうか?xmlns:xは略語を指すだけです.
二XAMLの構造
2.1要素ツリー
XAMLは実質的に多くのラベルの集合(UI要素とも呼ばれる)であり、開始ラベルと終了ラベルの間にはラベルの内容が表示される(対応するラベルにはcontent属性があり、デフォルトでは開始と終了の間にcontent付与される).このようにして要素ツリー構造を構成します.ラベルの内容は、サブコントロールとも呼ばれるサブ要素であってもよい.ラベルのサブエレメントは、実質的に親エレメントの一連の属性に対する付与であり、サブエレメントは親エレメントのcontentまたはchildrenまたはitems属性に対する付与である.したがって、開始ラベルと終了ラベルの間には、親要素の一部の属性オブジェクトにも値を割り当てることができます.
2.2拡張可能タグクラス
実際には拡張可能なインタフェースを継承し、新しいオブジェクトインスタンスを生成する必要がある場合は、特殊な構文で置き換えることができます.
haoba
meishi
itemssourceは拡張タグクラスを使用しており、本質は:Binding myBinding = new Binding() { Source = DCMData, Path = "Name", Mode = BindingMode.OneWay };
注意すべきは:2.3 xネームスペースの使用について
xネームスペース:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
XAMLを表すコンパイラクラスの特性は次のとおりです.meishi
では質問は?textbox自体にnameの特徴があるのではないでしょうか.なぜx:Nameを使用して指定する必要があるのでしょうか.すべてのエレメントにName属性があるわけではありませんが、すべてのエレメントはx:Nameで名前を指定できます.したがって、x:Nameフィーチャーをすべて使用すると、コードの統一性と読み取り性が向上します.
hello world
haoba