3

x:FieldModifierをWPFコントロールに適用すると、次のようになります。

<TextBox x:Name="textBox1" x:FieldModifier="Public"/>

Visual Studio(2008年と2010年に試してみました)で次のエラーが発生します。

x:FieldModifierは言語C#では無効です

どうすればこの問題を解決できますか?

編集:申し訳ありませんが、公開したいと思います...

4

2 に答える 2

7

'Public'ではなく小文字の'public'を使用する

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <TextBox Name="TEst" x:FieldModifier="public" Text="nothing" />
</Grid>

于 2011-02-22T16:13:02.410 に答える
2

実際に必要 FieldModifierですか?含めないとどうなりますか?

ドキュメントから:

x:FieldModifierは、クラスまたはそのメンバーの一般的なアクセスレベルの宣言には関係ありません。これは、XAMLプロダクションの一部である特定のXAMLオブジェクトが処理され、アプリケーションのオブジェクトグラフでアクセスできる可能性のあるオブジェクトになる場合のXAML処理動作にのみ関連します。デフォルトでは、このようなオブジェクトのフィールド参照は非公開に保たれているため、コントロールのコンシューマーはオブジェクトグラフを直接変更できません。代わりに、コントロールコンシューマーは、レイアウトルート、子要素コレクション、専用のパブリックプロパティなどを取得するなど、プログラミングモデルによって有効になる標準パターンを使用してオブジェクトグラフを変更することが期待されます。

于 2011-02-22T16:11:35.390 に答える