Laden...

RadioButton und Databinding

7 Antworten
1,384 Aufrufe
Letzter Beitrag: vor 16 Jahren
RadioButton und Databinding

moin.
ich hätt ne kurze frage zum obigen thema.
ich habe 2 radiobuttons und einen booleschen wert in der klasse.
dies hier funktioniert..

IsChecked="{Binding Path=IsGeschäftskunde}"

wie kann ich es aber machen, dass das andere radiobutton den Wert
!IsGeschäftskunde annimmt?

das thema hatten wir schon - schau mal hier:
MVVM: eleganter radioboxen handeln?

danke für den link..
ich versteh aber das konzept mit dem converter nicht ganz....
insbesondere das im binding...

Converter={StaticResource nullableBooleanConverter}

da ich das noch nicht kapiert hab, hab ich auch noch n fehler:
Fehler 1 Der StaticResource-Verweis "nullableBooleanConverter" wurde nicht gefunden.

hätte noch etwas erklärungsbedarf

es geht um diesen link..
http://geekswithblogs.net/claraoscura/archive/2008/10/17/125901.aspx

du musst die converter natuerlich bekannt machen in den resourcen
zb den BooleanToVisibilityConverter vom framework
bei eigenen convertern dann einfach das namespace bekannt geben und dann in den resourcen mit einem key versehen

<Window...>
    <Window.Resources>
        <BooleanToVisibilityConverter x:Key="boolToVisibility" />
    </Window.Resources>

    <Button Visibility="{Binding ... Converter={StaticResource boolToVisibility}}" />
</Windiw>

sorry.. ich stell mich da ein wenig an...
hab in wpf noch nie groß mit namespaces und namensvergabe was gemacht..
hab mich jetzt seit gestern dran versucht...
wo genau muss die klasse sich befinden(wenn ich ein usercontrol hab)
wie läuft das einbinden eigener ressourcen?

danke für die geduld

>> sorry.. ich stell mich da ein wenig an...
macht nichts, jeder faengt mal an

>> hab in wpf noch nie groß mit namespaces und namensvergabe was gemacht..
>> hab mich jetzt seit gestern dran versucht...
visual studio machts eigen eigentlich recht leicht durch intellisense

>> wo genau muss die klasse sich befinden(wenn ich ein usercontrol hab)
irgendwo - steht dir voellig frei

>> wie läuft das einbinden eigener ressourcen?
ganz einfach

  • als erstes machst du den namespace bekannt
    angenommen dein converter liegt in
    DemoApp.Converters
    dann machst du in vs oben im header einfach

xmlns:c="clr-namespace:DemoApp.Converters"
(sobald du xmlns:c= getippt hast bringt visual studio die eine liste, da kannst du dann einfach das namespace auswaehlen

  • dann wirds einfach benutzt
    <c:MyConverter />
    (auch hier, sobald du c: eingibst zeigt dir visual studio die vorhandenen klassen [eventuell vor der benutzung einmal bauen])

("c" ist nur ein beispiel, kannst da alles nehmen was du magst)

  • jede resource braucht damit man sie ansprechen kann auch ein key - den setzt du einfach mit x:Key="name"

am ende sieht das dann so aus

namespace DemoAll.Converters
{
    public class MyConverter...
}
<Window ...
    xmlns:c="clr-namespace:DemoApp.Converters">
    <Window.Resources>
        <c:MyConverter x:Key="theConverter" />
    </Window.Resources>
</Window>

das kannst du dann im sichtbarkeitbereich von Window ueberall mit Static oder DynamicResource verwenden
(auch andere elemente wie zb Grid haben "Resources"

besten dank!