Button btn = new Button();
btn.Name = "R-F"; // ArgumentException...not a valid value
btn.Name = "RF"; // OK
は、なぜ私は、アンダースコアやハイフンを含む文字列とコントロールに名前を付けることはできませんか?
Button btn = new Button();
btn.Name = "R-F"; // ArgumentException...not a valid value
btn.Name = "RF"; // OK
は、なぜ私は、アンダースコアやハイフンを含む文字列とコントロールに名前を付けることはできませんか?
最も一般的な理由は、その名前がXMLの識別子として使用されるためです。読み出し、limitiationが明確FrameworkElement.Nameのドキュメントに綴られているいずれの場合においても
:
根底Xによって課されるように名前に使用される文字列の値は、いくつかの制限がある:名前指令は、によって定義されますXAML仕様。特に、Nameは文字またはアンダースコア(_)で始まり、文字、数字またはアンダースコアのみを含む必要があります。詳細については、WPF XAML Namescopesを参照してください。
ドキュメントごとに、アンダースコアはです。 ただし、ハイフンはそうではありません。
クラス/オブジェクトの名前にハイフンを使用することはできません。下線は問題ありません。
クラスにハイフンを使用することはできません。 – Lloyd
あなたはあなたの質問をきれいにする必要がありますが、ハイフンは文章の中で言い表せますが、質問全体がアンダースコアでハイフンまたはマイナス記号を使用しています。 –
この質問はまったく間違っています。あなたは** **アンダースコア**ボタンで名前を付けることができますが、許可されていない**ハイフン**を使用しています。ここで助けを求めているものを正確に明確にしてください。 –