1. ホーム
  2. wpf

[解決済み] WPFのTextBlock要素とLabelコントロールの違いは何ですか?重複

2022-12-11 10:54:10

質問

以下の2つのスニペットは、視覚的には同じUIを生成します。では、なぜ2つのコントロールがあるのでしょうか...

スニペット1

<TextBlock>Name:</TextBlock>
<TextBox Name="nameTextBox" />

スニペット2

<Label>Name:</Label>
<TextBox Name="nameTextBox" />

( さて、私はこれに自分で答えるつもりです...これは私が今日学んだ有益な豆知識です。 WPF プログラミング )

どのように解決するのですか?

WPFのテキストブロックは、以下のものを継承しています。 フレームワーク要素 から派生するのではなく システム.Windows.Control を継承しています。これは、テキストブロックがより軽量であることを意味します。テキストブロックを使うことの欠点は、アクセスキー/アクセレータキーがサポートされていないことと、ターゲットとして他のコントロールへのリンクがないことです。

テキストを単独で表示したい場合は、テキストブロック(TextBlock)を使用します。 . 利点は、テキストを表示するための軽快でパフォーマンスの高い方法です。

テキストボックスのような他のコントロールとテキストを関連付けたい場合は、 Label コントロールを使用します。 . 利点は、アクセスキーとターゲットコントロールへの参照です。