OK ... Je suis un gars de WinForms VB.NET essayant de comprendre WPF et tout son awesomeness. J'écris une application de base comme une expérience d'apprentissage, et j'ai lu beaucoup d'informations et regarder des vidéos de tutorat, mais je ne peux pas démarrer avec un simple DataBinding, et je sais qu'il me manque un concept de base. Autant que je l'aime, je n'ai pas eu ça "Aha!" moment de l'examen du code source pour le moment. Alors ... Dans ma classe Window j'ai défini une chaîne de propriétés personnalisée. Quand je vais dans Blend, j'essaye de créer une base de données avec le texte de ma TextBox sur cette propriété, mais ma propriété n'apparaît pas dans Blend comme quelque chose de disponible pour la liaison. Quelqu'un peut-il me dire ce que j'ai besoin d'ajouter à mon code/XAML ci-dessous ... et surtout pourquoi?Échec de la liaison de données - Aidez-moi à démarrer avec un exemple simple
Mon XAML:
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<TextBox Text="How do I Bind my SomeText property here?"></TextBox>
</Grid>
</Window>
Mon code de fenêtre:
Class Window1
Private _sometext As String = "Hello World"
Public Property SomeText() As String
Get
Return _sometext
End Get
Set(ByVal value As String)
_sometext = value
End Set
End Property
End Class
Merci, je vais essayer. Par conséquent, à propos de la chaîne de liaison "{Reliant RelativeSource = {RelativeSource Self}}" Est-ce que cela peut être généré dans Blend? Will VS m'aidera à le générer avec intellisense? Y a-t-il un moyen pour moi de découvrir la syntaxe correcte pour ces choses ou dois-je juste m'en souvenir? –
Je ne pense pas Blend ou VS aide beaucoup dans ces cas. Si vous avez Resharper, cela ajoute un peu d'intellisense avec XAML. –
Personnellement, j'aime mieux utiliser DataContext que d'utiliser ElementName (comme je l'ai fait dans ma réponse). J'ai seulement utilisé ElementName pour aider à clarifier ce qu'est la Source (à des fins d'apprentissage). DataContext apporte une complexité supplémentaire pour comprendre ...étant donné qu'il hérite de l'arbre visuel. – cplotts