#

WPF: Wie bekomme ich eine Größenänderung von anderen Controls mit?

Ich habe einen Button auf einem WPF Forumular.
Jetzt möchte ich, dass der Button seine Größe anpasst, wenn das Hauptfenster sich ändert.
Die Binding habe ich schon probiert, diese reicht aber nicht für meine Aufgabe aus.
Deshalb möchte ich die die Größe des Ersten Buttons dynamisch vom Fenster oder von anderen Buttons anpassen
Gibt es hierzu einen Event? Oder ein Ereigniss wie das Bubble Event?

Manipulation Events

Hierzu: Manipulation ist eine Veränderung des Controls , Verschieben, Größe ändern (mit Finger oder Maus)… so denke ich..

Dabei ist das BoundaryFeedback: Tritt ein, wenn die Bearbeitung an eine Grenze stößt.
Wobei das Delta mehrfach eintritt, wenn der User mit dem Finger das control über den Bildschirm zieht.
Das ManipulationDelta-Ereignis tritt mehrmals ein, wenn der Benutzer während einer Manipulation Finger über den Bildschirm zieht, und nochmals, wenn Trägheit auftritt. Mit der IsInertial-Eigenschaft können Sie bestimmen, ob ein das Ereignis während der Trägheit auftritt.
Wenn das Ereignis eintritt, hat es keine Auswirkungen auf das Element, für das das ManipulationDelta-Ereignis eintritt. Sie müssen die Logik für das Element bereitstellen, das bearbeitet werden soll. Die CumulativeManipulation-Eigenschaft und DeltaManipulation-Eigenschaft, die den Typ ManipulationDelta haben, enthalten Daten darüber, wie die Position der Manipulation sich ändern und hat als Verschieben, Größenanpassung oder Drehen eines Objekts interpretiert werden. Sie übernehmen diese Informationen für das Element, das bearbeitet werden soll.
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj883700.aspx
Manipulationen
Eine Manipulation ist die sofortige, anhaltende Reaktion oder Antwort ein Objekt oder eine UI zu einer Geste.
Beispielsweise können sowohl der Schieber und Swipe-Gesten bewirken in der Regel ein Element oder UI in irgendeiner Weise zu bewegen.
Das endgültige Ergebnis einer Manipulation, wie sie durch das Objekt auf dem Bildschirm und auf der Benutzeroberfläche manifestiert wird, ist die Wechselwirkung.
Interactions Wechselwirkungen
Wechselwirkungen abhängen, wie eine Manipulation interpretiert wird und der Befehl oder die Aktion, die aus der Handhabung führt. Beispielsweise können Objekte sowohl durch die Rutsche und Swipe-Gesten bewegt werden, aber die Ergebnisse davon ab, ob ein Abstand Schwellenwert überschritten wird, abhängig. Schieben Sie kann verwendet werden, um ein Objekt zu ziehen oder schwenken den Blick, während Schlag kann verwendet werden, um ein Element auszuwählen oder Anzeigen des AppBar werden kann.
In diesem Abschnitt werden einige häufige Interaktionen.


Dann noch der ganze Preview Stylus Block

Zum Beispiel der Stylus.StylusDown Event
Tritt ein, wenn der Benutzer mit der Tablettstiftspitze das Tablett berührt.


Und dann noch die klassischen SizeChanged
Aber auch RequestBringIntoView




Die Frage ist jetzt: gibt es einen Event, Bubbling Event, der mir mitteilt, ob der erste Button sich ändern sollte.



Deshalb jetzt einfach einen kleinen Codeblock, der mir die Events anzeigt

/// Interaktionslogik für MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void Button_ManipulationStarting(object sender, ManipulationStartingEventArgs e)
{
MessageBox.Show("Button_ManipulationStarting");
}

private void Button_PreviewStylusDown(object sender, StylusDownEventArgs e)
{
MessageBox.Show("Button_PreviewStylusDown");
}

private void Button_RequestBringIntoView(object sender, RequestBringIntoViewEventArgs e)
{
MessageBox.Show("Button_RequestBringIntoView");
}

private void Button_SizeChanged(object sender, SizeChangedEventArgs e)
{
MessageBox.Show("Button_SizeChanged");
}
}
}


Das Event Button_SizeChanged schon an, bevor das Control angezeigt wird, beim Start

Der erste Mausklick führt dazu, dass die RequestIntoView kommt. Und dann immer wieder, wenn man drauf klickt


Ein Bubbling event beim Ändern der Größe des Window führt zu keiner Rückmeldung, auch wenn das Control schon selbst verändert wird, aber eben nur in der Ansicht
Jedenfalls tritt kein weiterer SizeChanged ein.



Fazit: ein übergeordnetes Control führt nicht zu einem Ereignis, dass das innere Contol sich verändern sollte.
Mobile

.

0123movie.net