Forum: PC-Programmierung IValueConverter Attribute


von guelay (Gast)


Lesenswert?

Hallo zusammen,

ich habe ein Property mit dem Attribute XInfo.

[XInfo("Name123")]
public XyClassName Abc {get; set;}

Ich möchte für WPF einen Converter schreiben, der den Name "Name123" 
zurückgibt. Als wenn das Property Abc = null ist.

Ich den folgenden Ansatz:
<Label="{Binding Abc, Converter={StaticResource XInfoNameConverter}}">

Das Problem ist wenn Abc = null ist dann kann der Converter damit nichts 
anfangen!

von vorschlager (Gast)


Lesenswert?

Dein Beitrag ist nicht verständlich.

von guelay (Gast)


Lesenswert?

guelay schrieb:
> Hallo zusammen,
>
> ich habe ein Property mit dem Attribute XInfo.
>
> [XInfo("Name123")]
> public XyClassName Abc {get; set;}
>
> Ich möchte für WPF einen Converter schreiben, der den Name "Name123"
> zurückgibt. Als wenn das Property Abc = null ist.
>
> Ich den folgenden Ansatz:
> <Label="{Binding Abc, Converter={StaticResource XInfoNameConverter}}">
>
> Das Problem ist wenn Abc = null ist dann kann der Converter damit nichts
> anfangen!

Hallo zusammen,

ich habe ein Property mit dem Attribute XInfo.

[XInfo("Name123")]
public XyClassName Abc {get; set;}

Ich möchte für WPF einen Converter schreiben, der den Name "Name123"
zurückgibt bzw. als Binding object mit einem Label verknüpft.

Ich habe den folgenden Ansatz:
<Label="{Binding Abc, Converter={StaticResource XInfoNameConverter}}">

Das Problem ist wenn Abc = null ist dann kann der Converter damit nichts
anfangen. Wie kann ich auf den Name "Name123" zugreifen, auch wenn Abc = 
null ist?

von Karlsson auf dem Dach (Gast)


Lesenswert?

Ich würde sagen: Gar nicht. Denn du erhältst im Konverter

public object Convert(object value, Type targetType, object parameter, 
System.Globalization.CultureInfo culture)
...

als 'value' ja nur den Wert null. Da bekommst den ursprünglich 
deklarierten Parametertyp nicht mehr heraus und somit auch nicht dessen 
Attribute.

von vorschlager (Gast)


Lesenswert?

Du könntest statt der Property, das ganze Objekt reingeben (".") und als 
ConverterParameter den Namen der Property. Mit diesen beiden 
Informationen kannst du das Attribut abfragen.

von guelay (Gast)


Lesenswert?

vorschlager schrieb:
> Du könntest statt der Property, das ganze Objekt reingeben (".")
> und als
> ConverterParameter den Namen der Property. Mit diesen beiden
> Informationen kannst du das Attribut abfragen.

Danke hat funktioniert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.