Silver Light:如何在文本框中将单位设置为常量



我想在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>

最新更新