Name 属性とx:Name属性が交換可能であるように見える場合があります。XAML では、Framework 要素のNameとx:Nameの両方を参照できます。ただし、x:keyの場合、WPF はNameのような「キー」キーワードを提供しません。Nameとx:Nameはどちらも同じ目的です。名前は、 x:と入力しなくても使用できます。XAML でこのようなキーを使用できないのはなぜですか?
質問する
707 次
2 に答える
6
に実際にName
プロパティFrameworkElemnet
があります。x:Name
ディレクティブは、パーサーにマッピングを実行させるため、実際にはプロパティにマッピングされますName
。これらは、実際には 100% 交換可能ではありません。これは、パーサーがで指定された値と一致するようにプロパティをRuntimeNamePropertyAttribute
設定する一方向のマッピングです。FrameworkElement.Name
x:Name
「キー」にはそのようなプロパティまたは属性が存在しないため、x:Key
ディレクティブは同じ方法でプロパティにマップできません。
于 2013-09-20T18:59:17.350 に答える
0
Xaml について話す場合、x:Name しかありません。WPF フレームワークは、プロパティの 1 つを XamlRuntimeNamePropertyAttribute
に割り当てるクラスを 使用して、そのプロパティの 1 つを XAML の x:Name にマップできます。x:Name
したがって、設定x:Name
は設定と同等ですName
。
x:Key
一方Xaml
、リソースのキーです。内のリソースを一意に識別するために使用されResourceDictionary
ます。
于 2013-09-20T19:01:12.097 に答える