3

たとえば、public static RichTextBoxXAML で a を作成する方法を知っている人はいますか? コードで宣言すると簡単です。

      public static RichTextBox r;

しかし、XAML ではどうでしょうか。それは可能であるように思われますが、私はそれを行うことができませんでした:

    <RichTextBox x:Name="convBox" Margin="29.333,26,39.333,95" VerticalScrollBarVisibility="Visible">

XAML から公開および静的にすることは可能ですか?

ありがとう!

4

4 に答える 4

3

@MikeKullsの回答で説明されているように、これは可能です。実際の実装は次のとおりです。

アプリ.xaml:

<Application.Resources>
    <RichTextBox x:Key="convBox" Margin="29.333,26,39.333,95" VerticalScrollBarVisibility="Visible"/>
</Application.Resources>

ViewUsingStaticControl.xaml

<Grid>
    <ContentControl Content="{StaticResource convBox}"/>
</Grid>

重要な注意: @HB の回答で述べたように、要素は親を 1 つしか持つことができません。この方法で静的コントロールを使用すると、その静的コントロールが現在 1 つのビューに表示されていて、その静的コントロールを含む別のビューが表示される場合、静的コントロールは最初のビューから削除され、最初のビューに追加されます。最新のビューが読み込まれました。

于 2015-11-18T17:41:04.563 に答える
2

App.xamlでリソースとして定義できます。静的変数は実際には単なるグローバル変数であり、App.xamlで定義されたリソースも実際には単なるグローバルです。もちろん色々な違いがあります。これがリッチテキストボックスで何を達成するかはわかりませんが、ある意味であなたの質問に答えます。

于 2012-07-05T03:55:02.227 に答える
2

いいえ、これは可能ではありませ。そのコントロール/ウィンドウ/etc のすべてのインスタンスで共有されるためです。これは、複数の親を持つため、1 つのインスタンスでは実行できません。

于 2012-07-05T00:15:17.533 に答える
1

これは不可能です。あなたが持っている唯一のオプションはFieldModifier、コントロールを静的ではなく公開できるものです。

<RichTextBox x:Name="convBox" x:FieldModifier="public" Margin="29.333,26,39.333,95" VerticalScrollBarVisibility="Visible" />
于 2012-07-05T00:25:59.577 に答える