我有这个数字1234.456它有3个小数位,这对我的用户来说非常有限,他们中的一些人将nunber解释为数千但仍然需要它。
我该如何设计这些数字?
像这张图片一样:
注意:可能会以其他颜色显示小数位。
任何帮助都会非常苛刻。
编辑1:我想要的是要应用的Style
(xaml)模板,编辑模式必须显示正常的数字以允许用户修改它。现在我完全迷失了,我是一个初学者。
注意:我使用MVVM作为主要架构,我的XAML模板需要绑定
答案 0 :(得分:2)
你必须在页面上放两个元素,一个用于整数部分,一个用于小数部分。然后按照您的预期设计它们。像这样:
<TextBlock x:Name="IntPart" Text="1234." FontSize="12" />
<TextBlock x:Name="DecPart" Text="456" Margin="0,0,0,3" FontSize="8" />
使用Bindings:
<TextBlock Text="{Binding IntPart}" FontSize="12" />
<TextBlock Text="{Binding DecPart}" Margin="0,0,0,3" FontSize="8" />
使用绑定和转换器
<my:IntPartConverter x:Key="MyIntPartConverter" />
<my:DecPartConverter x:Key="MyDecPartConverter" />
<TextBlock Text="{Binding MyNumber, Converter={StaticResource MyIntPartConverter}}" FontSize="12" />
<TextBlock Text="{Binding MyNumber, Converter={StaticResource MyDecPartConverter}}" Margin="0,0,0,3" FontSize="8" />
C#
public class IntPartConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (int)value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
public class DecPartConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (double)value - (int)value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}