0

Windows Phone xamlページでは、一部の要素にx:Nameがあります

<TextBlock x:Name="PageTitle" Text="simple" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>

他の人は名前を持っていますが

<TextBlock Name="tbSource" Height="30" HorizontalAlignment="Left" Margin="129,178,0,0"  Text="Source" VerticalAlignment="Top" Width="304" />

違いはなんですか ?

4

2 に答える 2

0

パーツはx:名前空間エイリアスです。プロパティが存在する場所をコンパイラに通知します。この場合、XAMLのデフォルトの名前空間を指しています。プロパティはその一部で
あり、その名前空間にあります。XAMLで呼び出されるプロパティを識別するために 含める場合、明示的に言っているのは、基になるのプロパティを参照しているということです。すべてのオブジェクトはこれを継承するため、すべてのクラスからアクセスできます。NameSystem.Object
x:NameNameNameSystem.Object

なぜこの問題があるのでしょうか?
クラスのNameプロパティを無効にした場合、名前空間を指定すると、Name参照しているバージョンを明示的に指定できます。
補足:オーバーライドしないことで、多くの苦痛を軽減できますName

どちらを使用するかは重要ですか?
いいえName。オーバーライドされることがなく、特定のバージョンを参照する必要がある場合に限ります。

使用するかどうかに一貫性を持たせることは、おそらくあなたの利益になります。ほとんどの人はそうします(VSがあなたのためにコントロールを作成するときのように)ので、おそらくそれらをそこに保持するのが最も簡単です。

于 2012-10-03T17:30:05.113 に答える
0

確かではありませんが、x:Name要素はコード内で名前でアクセスできると思います。例:PageTitle.Text="テキスト"。そして、「名前」は要素の単なる通常のプロパティです。x:Nameディレクティブに関する次の記事も参照してください。

于 2012-10-03T03:30:52.310 に答える