我有一个带有TextBlock的WPF项目和一个数字绑定
比如"0009012"
,但我想只显示9012
或0881012
如果必须显示881012
。
是否有使用StringFormat的方法或者我必须编写转换器 那个?
这是我的代码:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock Text="{Binding Test}" StringFormat={}{????}/>
</Grid>
</Window>
using System.Windows;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public string Test { get; set; }
public MainWindow()
{
Test = "00090012";
InitializeComponent();
DataContext = this;
}
}
}
答案 0 :(得分:0)
StringFormat
是否有办法,或者我必须为此编写Converter
?
后者。
您无法在XAML中应用StringFormat
从数字中删除所有前导零。另请注意,StringFormat
未应用于string
值。
您可以编写一个转换器,例如在TrimStart("0")
上调用string
,或者只是从绑定到的视图模型的source属性返回已修剪的值。
答案 1 :(得分:-1)
Test = Convert.ToInt32(Test).ToString();
转换为整数将删除所有初始0s
,然后您可以使用ToString
方法将其转换回字符串。
答案 2 :(得分:-2)
int integer = int.Parse(String.ToString()); 试试这个方法