2016-12-25 178 views
4

TextBoxコンポーネントを持つWPFアプリケーションを開発しています。WPF TextBoxキャレットが消える

テキストボックスのキャレットに問題があります。

Caret showing

キャレットが消える:

Caret disappears

キャレットリターンをTextBox自体の位置に応じて、キャレットがある特定の位置にキャレットが表示

消え、と思わ:

enter image description here

TextBoxスタイルは非常に簡単です:

<Style TargetType="{x:Type TextBox}" x:Key="FormTextBox"> 
    <Setter Property="Width" Value="464"/> 
    <Setter Property="Height" Value="74"/> 
    <Setter Property="HorizontalAlignment" Value="Left"/> 
    <Setter Property="FontFamily" Value="Microsoft Sans Serif"/> 
    <Setter Property="FontSize" Value="43.2"/> 
    <Setter Property="MaxLength" Value="50"/> 
</Style> 

私も固定幅フォント、同じものであるCourier Newにフォントを設定してみました。

+0

テキスト変更に関するイベントハンドラはありますか?単純なwpfアプリでこれを再現することはできません – CharithJ

+0

いいえ、 'UserControl'を含むウィンドウには、マルチ解像度をサポートするためにhttp://stackoverflow.com/a/19579704/975959があります。 –

答えて

3

問題は、スケール変換で一般的な(12)と思われます。これはコメントで言及した動作によって適用されます。

mainElement.LayoutTransform = scaleTransform; 

そしてMSDNから、この問題に対する

効果的な解決策はありません。

したがって、マルチ解像度をサポートしたい場合は、ViewBoxをお勧めします。シンプルで、仕事をしてください。

+1

ありがとう、 私は試しましたBehaviorをViewBoxに置き換えましたが、Caretの問題は解決されませんでした。 –