Konvertieren von string zu int mit IValueConverter

Wie kann ich konvertieren von string-Werten zu Ganzzahlen und zurück mit IValueConverter?

  • Ich habe eine Datenbank besteht aus zwei Tabellen, Tabelle CompanyX und Tabelle DeptY.
  • Tabelle CompanyX hat das Feld ID(int), Vorname, Nachname, E-Mail, Telefon.
  • Tabelle DeptY hat Feld pID(int), Rollen.
  • DeptY pID ist der Fremdschlüssel Auf CompanyX-ID. Jedes mal, wenn ich jemanden auswählen in der Combobox, ich will es anzeigen, deren ID in einem DataGrid.

Dies ist mein ItemTemplate unten:

<Application.Resources>
    <DataTemplate x:Key="myTemplate">
        <WrapPanel HorizontalAlignment="Stretch">
            <TextBlock Text="{Binding FirstName}"/>
            <Label />
            <TextBlock Text="{Binding LastName}"/>
        </WrapPanel>
    </DataTemplate>
</Application.Resources>

Dies ist meine Combobox, die gebunden ist an die ItemTemplate:

<ComboBox Height="23" HorizontalAlignment="Right" Margin="0,90,267,0" 
          Name="comboID"    ItemsSource="{Binding}" VerticalAlignment="Top" 
          Width="208" ItemTemplate="{StaticResource myTemplate}" />

Und ein DataGrid angezeigt:

<DataGridTemplateColumn x:Name="pIDColumn" Header="Person ID" Width="auto">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=pID, Converter= {StaticResource myConverter}}"/>   
        <DataTemplate>
    </DataGridTemplateColumn.CellTemplate>                            
</DataGridTemplateColumn>
<DataGridTemplateColumn x:Name="rolesColumn" Header="Roles" Width="auto" >
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=Roles}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn> 

IValueConverter, die nicht konvertieren!!

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    string a = (string)value;
    int b;
    int.TryParse(a, out b);
    return b;
}
public object ConvertBack(object value, Type targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
    throw new NotImplementedException();
}
Hat deine Convert-Methode get aufgerufen wird (einen Haltepunkt festlegen)?

InformationsquelleAutor AndyRoxxx | 2014-05-09

Schreibe einen Kommentar