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

Xaml Silver Light:如何在文本框中将单位设置为常量,xaml,silverlight,Xaml,Silverlight,我想在Silverlight的文本框中显示一些值,但我需要设置一个保持不变的单位值 例如: 100 gpm 我需要更改值(100),但单位(gpm)应始终保持静态 这是我目前的装订 <TextBox Text="{Binding Path=Current.SystemDemand,Mode=TwoWay}" /> 如果在文本框上使用绑定,则可以设置绑定的格式 以下是如何在Xaml中设置格式 问题作者的方法和公认的答案的共同点是,它们将(可编辑)值和(不可编辑)单位混为一谈 为什么不

我想在Silverlight的文本框中显示一些值,但我需要设置一个保持不变的单位值

例如:

100 gpm

我需要更改值(
100
),但单位(
gpm
)应始终保持静态

这是我目前的装订

<TextBox Text="{Binding Path=Current.SystemDemand,Mode=TwoWay}" />

如果在文本框上使用绑定,则可以设置绑定的格式

以下是如何在Xaml中设置格式


问题作者的方法和公认的答案的共同点是,它们将(可编辑)值和(不可编辑)单位混为一谈

为什么不在
文本框
的末尾附近放置一个普通的
文本块

您甚至可以使用
网格
将装置显示在
文本框
的“内部”

<Grid>
    <TextBox Text="{Binding...StringToNumberConverter...etc}" Padding="0,0,24,0"/>
    <TextBlock Text="gpm" HorizontalAlignment="Right" IsHitTestVisible="false"/>
</Grid>


您是使用绑定还是设置值directlyBinding from code behind。。Text=“{Binding Path=Current.SystemDemand,Mode=TwoWay}”我们需要添加GotFocus和LostFocus EventsOry,当我放置此Text=“{Binding Path=CurrentScenario.SystemDemand,Mode=TwoWay,StringFormat='{0}gpm'}”时,我得到了预期的错误'''''''''''''''轻微的打字错误。在`{0}gpm`前面加一个空格,或者使用反斜杠
\{0}gpm
。当您以
{
开头时,设计器会抱怨,对不起,我将StringFormat='/{0}gpm',我得到的输出是/12.8 gpm,一个前导斜杠。我告诉你了错误的斜杠。对不起。我用正确的斜杠更新了答案,你是对的。它完成了,但gpm仍然是可编辑的,但我只需要12.8是可编辑的,无论如何这是可行的。但我需要多一点。。