按钮点击

时间:2016-10-26 07:34:50

标签: c# windows-phone-8 textblock windows-phone-silverlight

我有一个文本块,用户可以在按钮上显示所有文本。

XAML

<TextBlock x:Name="TextDisplay" TextAlignment="Center"
                       Style="{StaticResource PhoneTextTitle1Style}" />


<Button Style="{StaticResource MyButtonStyle}" Content="1" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="2" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="3" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="4" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="5" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="6" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="7" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="8" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="9" Click="Number_Click" />
<Button Style="{StaticResource MyButtonStyle}" Content="0" Click="Number_Click" />

我希望用户点击文本块中按钮显示的按钮内容,但只能使用此限制格式(“###。##”)。

C#

    private void Number_Click(object sender, RoutedEventArgs e)
    {
        Button b = (Button)sender;
        TextDisplay.Text += b.Content.ToString("###.##");
    }

但是当我删除“###。##”代码时,在ToString上显示错误,但按钮可以无限点击。

平台:windows phone silverlight app / c# 如果任何人知道在“###。##”这个限制格式的文本块中显示文本,请提供帮助。

2 个答案:

答案 0 :(得分:1)

你可以使用

String.Format("{0:000.00}", value);

喜欢

TextDisplay.Text += String.Format("{0:000.00}", b.Content);

The "0" custom format specifier用作零占位符。如果正在格式化的值在格式字符串中出现零的位置有一个数字,则该数字将复制到结果字符串;否则,结果字符串中会出现零。小数点前最左边的零点和小数点后面最右边的零点的位置决定了结果字符串中始终存在的数字范围。

答案 1 :(得分:1)

内容不是数字值,而是字符串(content =&#34; 1&#34;)

因此,如果你想要一个特定的数字格式,如&#34; ###。##&#34;,你应该转换字符串&#34; 1&#34;到数字类型:

double.Parse(b.Content.ToString()).ToString("###.##")

然后您的格式将有效。

而不是&#34; ###。##&#34;你可能想要&#34; 000.00&#34;?