IValueConverter Attribute

Gast #6236555
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!
Gast #6236581
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?
Gast #6236650
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.
Gast #6236652
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.