Hey Leute, ich muss mich mal wieder melden, da ich den Wald vor lauter Bäumen nicht sehe.
ich habe ein "NumericUpDown" als UserControl gebastelt. Funktioniert auch soweit gut. Es besteht aus zwei RepeatButtons und einer Textbox. Die Buttons inkrementieren oder dekrementieren die DependencyProperty Count jeweils um 1. Die Textbox ist mittels Binding dazu angehalten, den Wert für Count anzuzeigen. Das funktioniert super.
Nun wollte ich diesen NumericUpDown in einem weiteren UserControl einbinden und habe dahinter eine weitere DependencyProperty (HouseCount). Also dachte ich, dass ich den Wert für Count einfach darauf binde... aber irgendwie funktioniert das nicht. Der Wert wird mir tatsächlich richtig in der Textbox angezeigt, Count ist auch entsprechend richtig gesetzt, aber Count und HouseCount gleichen sich nicht ab. Aber zu meinem Verständnis (und hier liegt vermutlich das Problem): Wenn ich beide Werte aneinander binde, müssten sie sich doch theoretisch abgleichen?
Hier ist folgender Code im übergeordneten UC:
und hier der Code des kompletten untergeordneten UC:
Also: ich habe im unteren UC alles über
Was also übersehe ich, damit die beiden sich angleichen?
Wenn ich die Buttons nutze, dann erhalte ich immer ein INotifyChanged-Event von Count, nicht aber von HouseCount.
Edit: Wenn ich das UC (übergeordnet) erstelle mit
Padre
ich habe ein "NumericUpDown" als UserControl gebastelt. Funktioniert auch soweit gut. Es besteht aus zwei RepeatButtons und einer Textbox. Die Buttons inkrementieren oder dekrementieren die DependencyProperty Count jeweils um 1. Die Textbox ist mittels Binding dazu angehalten, den Wert für Count anzuzeigen. Das funktioniert super.
Nun wollte ich diesen NumericUpDown in einem weiteren UserControl einbinden und habe dahinter eine weitere DependencyProperty (HouseCount). Also dachte ich, dass ich den Wert für Count einfach darauf binde... aber irgendwie funktioniert das nicht. Der Wert wird mir tatsächlich richtig in der Textbox angezeigt, Count ist auch entsprechend richtig gesetzt, aber Count und HouseCount gleichen sich nicht ab. Aber zu meinem Verständnis (und hier liegt vermutlich das Problem): Wenn ich beide Werte aneinander binde, müssten sie sich doch theoretisch abgleichen?
Hier ist folgender Code im übergeordneten UC:
und hier der Code des kompletten untergeordneten UC:
XML-Quellcode
- <StackPanel Orientation="Horizontal">
- <RepeatButton Width="30" x:Name="ValueDown" Click="ValueDown_Click">
- -
- </RepeatButton>
- <TextBox Width="60" PreviewTextInput="TextBox_PreviewTextInput" Text="{Binding Count, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:NumericUpDown}}}" VerticalContentAlignment="Center" HorizontalContentAlignment="Right"/>
- <RepeatButton Width="30" x:Name="ValueUp" Click="ValueUp_Click">
- +
- </RepeatButton>
- </StackPanel>
Also: ich habe im unteren UC alles über
Count
laufen. Nun binde ich die Variable HouseCount
daran. Also müssten sie theoretisch doch gleich sein? Ich brauche die, da ich mittels HouseCount
weitere Berechnungen anstellen möchte, die automatisch stattfinden sollen.Was also übersehe ich, damit die beiden sich angleichen?
Wenn ich die Buttons nutze, dann erhalte ich immer ein INotifyChanged-Event von Count, nicht aber von HouseCount.
Edit: Wenn ich das UC (übergeordnet) erstelle mit
HouseCount="20"
wird die Textbox auch richtig vorinitialisiert... aber es bleibt irgendwie alles in der Count-VariablenPadre
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „PadreSperanza“ ()