Ik zit al een uur te prutsen aan iets wat volgens mij extreem simpel is, maar ik kom er maar niet uit...
Ik heb een RadioButton in WPF waarvan ik in de Content (onder andere) een TextBox heb. Het idee is dat er twee van deze componenten naast elkaar staan waar de gebruiker iets moet invullen, de linker is in een eenheid en de rechter in een andere eenheid; invullen van de ene zorgt dan dat de andere berekend wordt, en met de radiobutton wordt aangegeven welke de gebruiker momenteel kan veranderen.
Ik wil gewoon dat de radiobutton 'actief' wordt (IsChecked = true) wanneer de gebruiker in de textbox klikt. Liefst ook als hij met Tab naar de textbox gaat, dus zodra de textbox focus krijgt, maar dat maakt voor het probleem niet zo uit denk ik.
Ik krijg dit echter niet voor elkaar... Het probleem is dat de TextBox alle muis events 'opslikt' en ze niet meer doorspeelt naar 'boven' (naar de stackpanel en dan naar de RadioButton). Ik snap hoe dit werkt, ik snap alleen niet hoe ik dit tegen ga. Het omgekeerde is simpel: als ik een muis event wil stoppen bij een bepaald niveau dan zorg ik dat daar de Handled property van de RoutedEventArgs op true gaat, en dan gaat hij niet verder door naar boven. Maar ik wil het omgekeerde. Dus ik zet de Handled property of false, maar dat lijkt geen effect te hebben (ik denk dat de textbox dat intern weer terug zet).
Zit ik er gewoon compleet verkeerd tegenaan te kijken?
Ik heb een RadioButton in WPF waarvan ik in de Content (onder andere) een TextBox heb. Het idee is dat er twee van deze componenten naast elkaar staan waar de gebruiker iets moet invullen, de linker is in een eenheid en de rechter in een andere eenheid; invullen van de ene zorgt dan dat de andere berekend wordt, en met de radiobutton wordt aangegeven welke de gebruiker momenteel kan veranderen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <RadioButton>
<StackPanel>
<TextBlock Text="Eenheid 1" />
<TextBox Text="{Binding Eenheid1}" />
</StackPanel>
</RadioButton>
<RadioButton>
<StackPanel>
<TextBlock Text="Eenheid 2" />
<TextBox Text="{Binding Eenheid2}" />
</StackPanel>
</RadioButton> |
Ik wil gewoon dat de radiobutton 'actief' wordt (IsChecked = true) wanneer de gebruiker in de textbox klikt. Liefst ook als hij met Tab naar de textbox gaat, dus zodra de textbox focus krijgt, maar dat maakt voor het probleem niet zo uit denk ik.
Ik krijg dit echter niet voor elkaar... Het probleem is dat de TextBox alle muis events 'opslikt' en ze niet meer doorspeelt naar 'boven' (naar de stackpanel en dan naar de RadioButton). Ik snap hoe dit werkt, ik snap alleen niet hoe ik dit tegen ga. Het omgekeerde is simpel: als ik een muis event wil stoppen bij een bepaald niveau dan zorg ik dat daar de Handled property van de RoutedEventArgs op true gaat, en dan gaat hij niet verder door naar boven. Maar ik wil het omgekeerde. Dus ik zet de Handled property of false, maar dat lijkt geen effect te hebben (ik denk dat de textbox dat intern weer terug zet).
Zit ik er gewoon compleet verkeerd tegenaan te kijken?