新しい WPF コントロールを作成し、それにキャレットを与える必要があります。WINFORMS または以前の Windows UI では、WIN API キャレット関数を使用するのは簡単でしたが、現在の WPF では、各コントロールに hwnd がないため... 方法はありますか?
2712 次
2 に答える
1
WPF のキャレットは単なる別のアニメーションであり、そのための特別な API はありません。線を描画し、DoubleAnimation で不透明度を変更します。
WPF TextBox をよく見ると、キャレットは「ピクセルの反転」すら行わず、文字の上に灰色の線が描かれているだけです。
ピクセル シェーダー効果を実装することで、WPF でピクセル反転を実行できる可能性があります。おそらくそれだけの価値はありません。VS2010 ベータ版は、テキスト キャレットの反転を行いません。
TextBox/RichTextBox とは別に、他に 3 つの編集コンポーネントがあります。
- Expression Blend コード エディター
- Visual Studio 2010 コード エディター
- SharpDevelop 4 コードエディター
于 2009-07-19T21:38:19.943 に答える