4

Hyperlinkテキストコンテンツを取得しようとしているWPFがあります。

例えば:

<Hyperlink Command="{Binding CustomersCommand}" Name="HLCustomers">
    Customers
</Hyperlink>

はビジュアル要素ではないため、通常の方法でTextプロパティにアクセスしたり、 を使用VisualTreeHelperして子テキスト要素を取得したりすることはできません。Hyperlinkからテキストを取得しようとしましたFirstInlineが、これもテキストを取得できません。

Hyperlink実行時に上記の例の要素から値「Customers」を取得するにはどうすればよいですか?

4

3 に答える 3

1

テキストブロックの追加は問題ですか?

<Hyperlink Command="{Binding CustomersCommand}" Name="HLCustomers">
    <TextBlock Name="HLCustomersContent">
        Customers
    </TextBlock>
</Hyperlink>

次に、次のように参照できます。

var text = HLCustomersContent.Text;

WPF Hyperlink オブジェクトの.Textプロパティは internal に設定されているため、オーバーライドして text プロパティを公開しない限り、思ったほど簡単にはアクセスできません。

于 2013-10-28T21:47:02.487 に答える
1

中に入れるだけTextBlockで、バインディングのしなやかさを楽しめます。

それでも選択肢がない場合は、Run.Text完全に適したソリューションであるプロパティを使用してくださいHyperlink

于 2013-10-28T21:12:27.237 に答える