2017-09-04 3 views
0

Ich habe ein WPF-Projekt mit einem Textblock mit und eine Bindung an eine Reihe wie "0009012" aber ich mag nur 9012 oder für 0881012 zeigen, wenn 881012 zu zeigen.TextBlock- String Trim Zeros

Gibt es einen Weg mit StringFormat oder muss ich einen Konverter dafür schreiben?

Hier mein Code:

<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; 
     } 
    } 
} 
+2

'" 00090012 "' ist keine Nummer. es ist eine Schnur. Es wird so angezeigt wie es ist. – ASh

+0

Können Sie versuchen, 'StringFormat = {} {0: 0}}' 'und sehen, was angezeigt wird? –

+0

*" Gibt es eine Möglichkeit mit StringFormat oder muss ich einen Konverter dafür schreiben? "* Sie müssen einen Konverter schreiben –

Antwort

-1
Test = Convert.ToInt32(Test).ToString(); 

Umwandlung nach integer werden alle die anfängliche 0s zu entfernen, und dann können Sie es wieder mit dem ToString Methode String konvertieren.

+0

ich muss es in WPF/XAML tun, sorry, ich habe es nicht klar gemacht, weil es ein PrintLayout ist, das in Runtime geladen wird –

-2

int Ganzzahl = int.Parse (String.ToString()); Versuchen Sie, diese Methode

0

Gibt es eine Möglichkeit mit StringFormat oder muss ich dafür eine Converter schreiben?

Letzteres.

Es gibt keine StringFormat Sie können in XAML anwenden, die alle führenden Nullen aus einer Nummer entfernt. Beachten Sie auch, dass StringFormat nicht auf string Werte angewendet wird.

Sie könnten einen Konverter schreiben, der zum Beispiel TrimStart("0") auf string aufruft oder einfach einen bereits getrimmten Wert aus der Quelleigenschaft des Ansichtsmodells zurückgibt, an das Sie binden.