Silver Light:如何在文本框中将单位设置为常量
Silver Light : How to set unit as constant in a textbox
我想在 Silverlight 的文本框中显示一些值,但我需要设置一个保持不变的单位值。
示例:
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
让单位显示 "inside" TextBox
。
<Grid>
<TextBox Text="{Binding...StringToNumberConverter...etc}" Padding="0,0,24,0"/>
<TextBlock Text="gpm" HorizontalAlignment="Right" IsHitTestVisible="false"/>
</Grid>
我想在 Silverlight 的文本框中显示一些值,但我需要设置一个保持不变的单位值。
示例:
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
让单位显示 "inside" TextBox
。
<Grid>
<TextBox Text="{Binding...StringToNumberConverter...etc}" Padding="0,0,24,0"/>
<TextBlock Text="gpm" HorizontalAlignment="Right" IsHitTestVisible="false"/>
</Grid>