[英]TextBlock StringFormat Trim Zeros
我有一個WPF項目與一個TextBlock和綁定到一個數字,如"0009012"
,但我想只顯示9012
或0881012
,如果有顯示881012
。
StringFormat是否有辦法,或者我必須為此編寫一個Converter?
這是我的代碼:
<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;
}
}
}
StringFormat
是否有辦法,或者我必須為此編寫一個Converter
?
后者。
您無法在XAML中應用任何StringFormat
來從數字中刪除所有前導零。 還要注意, StringFormat
不適用於string
值。
您可以編寫一個轉換器,例如,在string
上調用TrimStart("0")
或僅從綁定到的視圖模型的source屬性返回一個已裁剪的值。
Test = Convert.ToInt32(Test).ToString();
轉換為整數將刪除所有0s
,然后可以使用ToString
方法將其轉換回字符串。
int整數= int.Parse(String.ToString()); 試試這個方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.