我想在Silverlight中的TextBox中显示一些值,但我需要设置一个保持不变的单位值。
示例:
100 gpm
我需要更改值(100
),但单位(gpm
)应始终保持不变。
这是我当前的绑定。
<TextBox Text="{Binding Path=Current.SystemDemand,Mode=TwoWay}" />
如果在TextBox上使用绑定,则可以设置绑定的格式。
以下是如何在Xaml中设置格式
<TextBox x:Name="myTextBox" Text="{Binding Path=Current.SystemDemand, Mode=TwoWay, StringFormat='{0} gpm'}" />
问题作者的方法和公认答案的共同点是,它们混淆了(可编辑)值和(不可编辑)单位。
为什么不在TextBox
的末端附近放置一个包含该单元的普通TextBlock
?
您甚至可以使用Grid
使单元显示在TextBox
的"内部"。
<Grid>
<TextBox Text="{Binding...StringToNumberConverter...etc}" Padding="0,0,24,0"/>
<TextBlock Text="gpm" HorizontalAlignment="Right" IsHitTestVisible="false"/>
</Grid>