2016-11-17 4 views
0

TextBoxのPlaceholderTextにCharacterSpacingを適用する方法はありますか?UWP - PlaceholderTextにCharacterSpacingを適用する方法

TextBoxテンプレートを編集しようとしましたが、ContentPresenterがPlaceholderTextを表示していて、CharacterSpacingを使用しようとしましたが動作しませんでした。また、FontStretchを試してみましたが、結果はありません。

答えて

1

私はテキストボックステンプレートを編集しようとしましたが、私はのContentPresenterがPlaceholderTextを示している気づいた、私はそれにCharacterSpacingを使用しようとしましたが、それは

PlaceholderTextをするときのためにContentControlの内側に提示されて動作しませんでしたdefault styleを使用してください。 PlaseholderTextは、contentプロパティの値です。 contentプロパティのタイプはobjectです。一方、CharaterSpacingプロパティはstringの属性です。だから、これが理由だと思われるので、CharaterSpacingは影響を受けません。 のプロパティはTextBox,AutoSuggestBoxTextBlockのようなプロパティはTextプロパティのタイプがstringなのでCharaterSpacingプロパティに影響を与えることができます。 PlaceholderText

をCharacterSpacing応募方法

あなたがここにPlaceholderTextCharaterSpacingを適用したい場合は、PlaceholderTextに影響を及ぼさない新しいスタイルであることをPlaceholderTextContentPresenterため代わりにContentControlTextBoxコントロールを使用することができます特徴。しかし、以前と同じように見えるようにするためには、いくつかの変更を加える必要があります。

<TextBox 
     x:Name="PlaceholderTextContentPresenter" 
     Grid.Row="1" 
     Grid.ColumnSpan="2" 
     Margin="{TemplateBinding BorderThickness}" 
     Padding="{TemplateBinding Padding}" 
     Foreground="Gray" 
     CharacterSpacing="1000" 
     IsHitTestVisible="False" 
     BorderThickness="0" 
     Text="{TemplateBinding PlaceholderText}" /> 

そして結果:

enter image description here

を次のように新しい TextBoxスタイル用のコードを更新
関連する問題