Announcement

Collapse
No announcement yet.

.NET WPF Binding Converter Frage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • .NET WPF Binding Converter Frage

    Hallo,
    ich bin noch recht neu in der WPF Thematik.
    Die Daten kommen von einem Webservice.
    Ich habe ein Datagrid in dem einige Spalten sind. In einer Spalte ist ein Wert (ushort) . Dieses ist ein Schlüssel. Zu diesen Werten gibt es jeweils einen string. Diese kommen auch vom Webservice. Diese Werte habe in in meinem Model in einer Liste stehen. Ich möchte nun nicht die Schlüssel ausgeben sondern die stings zu den Schlüsseln.
    Meine Idee ist es dafür einen Converter zu benutzen. Nur leider weiß ich nicht wie ich in den Converter die Liste reinbekomme. Im Internet finde ich immer nur Beispiele mit fest in der converter Klasse eingebauten Werten.

    Converter
    Code:
        
    <UserControl.Resources>
            <converter:CodeToString x:Key="objCodeToString" />
    </UserControl.Resources>
    binding
    Code:
    <DataTemplate>
           <TextBlock Text="{Binding objPlant.iPlantCode, Converter={StaticResource objCodeToString}}" HorizontalAlignment="Left" VerticalAlignment="Center" />
    </DataTemplate>

  • #2
    Hallo,

    besser ist es ein ViewModel (VM) zu verwenden und dort die Konvertierung erledigen zu lassen. Das VM kennt alle benötigten Daten und es ist ja auch dessen Aufgabe die Daten für die View aufzubereiten.

    Konverter sind mMn nur in ganz wenigen Fällen sinnvoll.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Hi,
      der Vorschlag von gfoidl ist auch gut, aber die Antwort auf die Frage(für alle die das per Suchmaschine finden ) lautet Multibinding.

      Code:
      <MultiBinding Converter="{StaticResource objCodeToString}">
                <Binding Path="objPlant.iPlantCode"/>
                <Binding Path="DataContext.obsPlantSwTypes" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type Window}}"/>
      </MultiBinding>

      Comment

      Working...
      X