Name 属性とx:Name属性が交換可能であるように見える場合があります。XAML では、Framework 要素のNameとx:Nameの両方を参照できます。ただし、x:keyの場合、WPF はNameのような「キー」キーワードを提供しません。Nameとx:Nameはどちらも同じ目的です。名前は、 x:と入力しなくても使用できます。XAML でこのようなキーを使用できないのはなぜですか?
2 に答える
6
に実際にNameプロパティFrameworkElemnetがあります。x:Nameディレクティブは、パーサーにマッピングを実行させるため、実際にはプロパティにマッピングされますName。これらは、実際には 100% 交換可能ではありません。これは、パーサーがで指定された値と一致するようにプロパティをRuntimeNamePropertyAttribute設定する一方向のマッピングです。FrameworkElement.Namex: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 に答える