6

Name 属性とx:Name属性が交換可能であるように見える場合があります。XAML では、Framework 要素のNamex:Nameの両方を参照できます。ただし、x:keyの場合、WPF はNameのような「キー」キーワードを提供しません。Namex:Nameはどちらも同じ目的です。名前は、 x:と入力しなくても使用できます。XAML でこのようなキーを使用できないのはなぜですか?

4

2 に答える 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 に答える