0

これらのバインディングはもう機能したくないようです。彼らは昨日元気に働いていました。

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 は更新されていません。

私が間違っていることは何ですか?私は今夜​​しばらくそれを行ってきましたが、どこにも行きません - このコードがどうなっているのかわかりません。

ここに画像の説明を入力

4

1 に答える 1

0

バインディングの問題は、これと私が取り組んでいる別の同様のプロジェクトとの間の混乱によるものでした。

私の質問のサンプルからわかるように、次のように設定しました。

Note = Content

しかし、私の XAML では、次のように設定しました。

Path=SelectedItem.Content-それは間違っています。次のように設定する必要があります。

Path=SelectedItem.Note-それが私がバインドしようとしているものだからです。

そのため、XAML で Content から Note に変更すると修正されました。

于 2012-09-17T09:38:34.580 に答える