Hallo,
ich habe einen Fehler in einem Bindung und kann mir das nicht so recht Erklären, was ich hier falsch mache.
Der Fehler ist:
Hier der Code dazu:
Ansich ist es funktionsfähig - aber ich fürchte die Fehler wirken sich später aus, weil halt doch etwas falsch ist. Auch im Editor wird mir der Teil "Mode=TwoWay" angezeigt mit dem Hinweis "für die Bindung wurde kein DataContext gefunden". Evtl kann man es auch besser machen?
ich habe einen Fehler in einem Bindung und kann mir das nicht so recht Erklären, was ich hier falsch mache.
Der Fehler ist:
Quellcode
Hier der Code dazu:
XML-Quellcode
- <Window x:Class="MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:BindigTest"
- mc:Ignorable="d"
- DataContext="Person"
- Title="MainWindow" Height="450" Width="800">
- <Grid>
- <Label x:Name="LB_Name" Content="Name" HorizontalAlignment="Left" Margin="85,30,0,0" VerticalAlignment="Top" />
- <TextBox x:Name="TB_Name" HorizontalAlignment="Left" Text="{Binding Name, Mode=TwoWay}" Height="23" Margin="132,34,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" />
- <Label x:Name="LB_Age" Content="{Binding Age, Mode=OneWay}" HorizontalAlignment="Left" Margin="257,30,0,0" VerticalAlignment="Top" />
- <Label x:Name="LB_NewName" Content="NewName" HorizontalAlignment="Left" Margin="61,59,0,0" VerticalAlignment="Top" />
- <TextBox x:Name="TB_NewName" HorizontalAlignment="Left" Text="{Binding Name, Mode=TwoWay}" Height="23" Margin="132,62,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" />
- <Button x:Name="BT_Change" Content="Change" HorizontalAlignment="Left" Margin="257,62,0,0" VerticalAlignment="Top" Width="75" />
- </Grid>
- </Window>
VB.NET-Quellcode
- Class MainWindow
- Public PersonData As New Person With {
- .Age = 25,
- .Name = "John"
- }
- Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
- Me.DataContext = PersonData
- End Sub
- Public Class Person
- Public Property Name As String
- Public Property Age As Integer
- End Class
- Private Sub BT_Change_Click(sender As Object, e As RoutedEventArgs) Handles BT_Change.Click
- PersonData.Name = TB_NewName.Text
- End Sub
- End Class
Ansich ist es funktionsfähig - aber ich fürchte die Fehler wirken sich später aus, weil halt doch etwas falsch ist. Auch im Editor wird mir der Teil "Mode=TwoWay" angezeigt mit dem Hinweis "für die Bindung wurde kein DataContext gefunden". Evtl kann man es auch besser machen?