WPF では、カスタム ブラシを設定していますTextBox
。BackgroundProperty
このブラシに、TextBox
. ブラシは とGlyphRunBrush
よく似た動作をするImageBrush
ですが、ラスタライズされたグリフがブラシ ソースとして実行されます。
これどうやってするの?
例:
1 つの方法は、次のように、ブラシ自体に変換を適用することです。
<TextBox>
<TextBox.Background>
<ImageBrush ImageSource="/MyApp;component/Search.ico"
AlignmentX="Right" Stretch="Uniform">
<ImageBrush.Transform>
<TransformGroup>
<TranslateTransform X="-5"/>
</TransformGroup>
</ImageBrush.Transform>
</ImageBrush>
</TextBox.Background>
</TextBox>
ブラシのViewport
プロパティで幅を変更することもできますが、右側に揃えているため、必要以上に複雑になる可能性があります。