2016-09-20 7 views
-3
Button btn = new Button(); 
btn.Name = "R-F"; // ArgumentException...not a valid value 

enter image description hereアンダーコントロールのプロパティ名を許可しませ

btn.Name = "RF"; // OK 

は、なぜ私は、アンダースコアやハイフンを含む文字列とコントロールに名前を付けることはできませんか?

+3

クラスにハイフンを使用することはできません。 – Lloyd

+2

あなたはあなたの質問をきれいにする必要がありますが、ハイフンは文章の中で言い表せますが、質問全体がアンダースコアでハイフンまたはマイナス記号を使用しています。 –

+2

この質問はまったく間違っています。あなたは** **アンダースコア**ボタンで名前を付けることができますが、許可されていない**ハイフン**を使用しています。ここで助けを求めているものを正確に明確にしてください。 –

答えて

2

最も一般的な理由は、その名前がXMLの識別子として使用されるためです。読み出し、limitiationが明確FrameworkElement.Nameのドキュメントに綴られているいずれの場合においても

根底Xによって課されるように名前に使用される文字列の値は、いくつかの制限がある:名前指令は、によって定義されますXAML仕様。特に、Nameは文字またはアンダースコア(_)で始まり、文字、数字またはアンダースコアのみを含む必要があります。詳細については、WPF XAML Namescopesを参照してください。

ドキュメントごとに、アンダースコアです。 ただし、ハイフンはそうではありません。

0

クラス/オブジェクトの名前にハイフンを使用することはできません。下線は問題ありません。

関連する問題