Ho un’applicazione WPF e una finestra. Consente di avere qualcosa di simile nel mio xml:
Diciamo che non posso usare xml per la creazione di BottomLabel
e TitleLabel
. Quindi devo creare il BottomLabel come una proprietà nel mio “codice dietro”. Come posso specificare lo stesso binding per la proprietà Content
dell’etichetta Bottom nel mio codice? È ansible a tutti?
Quindi avrei qualcosa di simile a questo:
public Label TitleLabel {get; private set;} public Label BottomLabel {get; private set;} public MyClass(){ TitleLabel = new Label(); TitleLabel.Content = "Some title"; BottomLabel = new Label(); BottomLabel.Content = // ?? what should be here ? How do I specify the binding // that binds BottomLabel.COntent to TitleLabel.Content? }
Cosa posso scrivere al posto del commento? Grazie per gli ansvers.
Ecco come si definisce e si applica un’associazione nel codice:
Binding binding = new Binding { Source = TitleLabel, Path = new PropertyPath("Content"), }; BottomLabel.SetBinding(ContentControl.ContentProperty, binding);
Nota che su oggetti che non derivano da FrameworkElement
, devi usare esplicitamente BindingOperations.SetBinding()
invece di element.SetBinding()
:
BindingOperations.SetBinding(BottomLabel, ContentControl.ContentProperty, binding);