我想将一个小图标(一个 png 文件)放在文本框的一角。我的意思的草图位于http://dosketch.com/view.php?k=mIPeHLSBLx0e2YpoVpYO http://dosketch.com/view.php?k=mIPeHLSBLx0e2YpoVpYO
到目前为止我已经(在我的主 xaml 文件中)
<TextBox Style="{StaticResource IconTextBox"} ...
在我的资源区:
<Style x:Key="IconTextBox" TargetType="TextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Image Source="icon.png" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
显然这是行不通的(我一开始就失去了文本框!)。理想情况下,当用户在文本框中键入内容时,文本不会与图像重叠 - 但目前我很高兴将图像放入文本框中。
Thanks
我不会覆盖模板,而是创建一个新的简单用户控件:
//pseudocode, does not compile!
<UserControl x:Class="MyUserControl" x:Name="root">
<Grid>
<!-- put some effort in aligning the items so it looks nice -->
<TextBox Text="{Binding ElementName=root, Path=Text}" />
<Image Source="{Binding ElementName=root, Path=IconSource}" />
</Grid>
</UserControl>
public class MyUserControl : UserControl{
dependencyproperty string Text;
dependencyproperty string IconSource;
}
所以你可以按如下方式使用它:
<my:MyUserControl Text="{Binding MyText}" IconSource="{Binding MyIcon}"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)