La liaison d'une zone de texte à une propriété dans WPF
J'ai une zone de texte dans un Contrôle Utilisateur que je suis en train de mettre à jour à partir de mon application principale, mais quand j'ai mis la zone de texte.Texte bien il ne marche pas afficher la nouvelle valeur (même si textbos.Le texte contient les données correctes). Je suis en train de lier ma zone de texte à une propriété pour contourner cela, mais je ne sais pas comment, voici mon code -
MainWindow.xaml.cs
outputPanel.Text = outputText;
OutputPanel.xaml
<TextBox x:Name="textbox"
AcceptsReturn="True"
ScrollViewer.VerticalScrollBarVisibility="Visible"
Text="{Binding <!--?????--> }"/> <!-- I want to bind this to the Text Propert in OutputPanel.xmal.cs -->
OutputPanel.xaml.cs
namespace Controls
{
public partial class OutputPanel : UserControl
{
private string text;
public TextBox Textbox
{
get {return textbox;}
}
public string Text
{
get { return text; }
set { text = value; }
}
public OutputPanel()
{
InitializeComponent();
Text = "test";
textbox.Text = Text;
}
}
}
Vous devez vous connecter pour publier un commentaire.
Vous avez défini un DataContext dans certains parent de la zone de texte, par exemple:
Ensuite la liaison sera:
Et vous ne devriez pas besoin de cela - se référant à des éléments spécifiques de code derrière est généralement de mauvaise pratique:
J'espère que cet exemple vous aidera.
1) Créer
UserControl
.2) Ajouter à XAML
<TextBlock Text="{Binding Path=DataContext.HeaderText}"></TextBlock>
3) Dans le code-behind de la
UserControl
ajouter4) Hors de contrôle, et disons que dans le
MainWindow Load
événement que vous avez à faire commeSi vous êtes de départ pour lier les propriétés je vous suggère de vérifier quelques articles sur MVVM.
Ceci est une très puissante architecture que vous pouvez utiliser sur WPF. Je l'ai trouvé très utile dans mes projets.
Cochez cette un.