绑定是正确的,但不能正常工作(不再)

时间:2012-09-17 09:26:11

标签: c# .net c#-4.0 microsoft-metro

这些绑定似乎不再需要工作了。他们昨天工作正常。

XAML:

            <ListBox Name="NotesList" Background="WhiteSmoke">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Title}" />
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
            <TextBox x:Name="NoteTitle" Text="{Binding ElementName=NotesList, Path=SelectedItem.Title, Mode=TwoWay}" HorizontalAlignment="Stretch" VerticalAlignment="Top" Height="50" FontSize="24" Background="GhostWhite" />
            <TextBox x:Name="NoteContents" AcceptsReturn="True" Text="{Binding ElementName=NotesList, Path=SelectedItem.Content, Mode=TwoWay}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0, 50, 0, 0" />

代码隐藏(C#):

public class NoteView
{
    public string Title { get; set; }
    public string Path { get; set; }
    public string Note { get; set; }
}

正如您从下图所示的代码中可以看到的那样,它是正确的,应该可行。您还可以在下面看到,正在读取/设置文件的内容,但它只是没有更新UI。

任何想法我做错了什么?我今晚已经有一段时间了,而且我无处可去 - 我不知道这段代码是什么。

enter image description here

1 个答案:

答案 0 :(得分:0)

绑定问题是由于这与我正在进行的另一个类似项目之间的混淆。

从我的问题中的示例中可以看出,我设置了:

Note = Content

但是,在我的XAML中,我设置了:

Path=SelectedItem.Content - 哪个错了。我应该这样设置:

Path=SelectedItem.Note - 因为那是我想要绑定的内容。

因此,在XAML中从内容更改为注释修复了它。