相关疑难解决方法(0)

在MVVM中数据绑定ObservableCollection <T>

我有一个带有Datatemplate的ListView,它包含一个电影列表.它被数据绑定到ObservableColection,但每当我编辑Movie.Name时,即使在我的PropertyChangedEventHandler中调用"Name"并使用"Name"调用它,它也不会更新ListView.

我在我的初始化程序中为我的收藏添加了2个"电影",这些都显示正确(Klovn the Movie,Taken)

因此,当我单击编辑时,它应该更改所选电影的文本并将其名称更改为"测试"并且更改,但更改未显示在ListView中,但如果我使用foreach输出Collection,则Name is Test.

View.xaml

<Window x:Class="MovieDB3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <DockPanel>
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="File">
                <MenuItem Header="Edit" Click="MenuEditClick"/>
            </MenuItem>
        </Menu>
        <Grid DockPanel.Dock="Top">
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <ListView VerticalAlignment="Stretch" Name="ListViewMovies" ItemsSource="{Binding Path=Collection}" IsSynchronizedWithCurrentItem="True" >
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <WrapPanel>
                            <TextBlock Text="{Binding Path=Name}"/>
                        </WrapPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </Grid>
    </DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

View.cs

using System;
using System.Windows;
using MovieDB3.Models;
using MovieDB3.ViewModels;

namespace MovieDB3
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class …
Run Code Online (Sandbox Code Playgroud)

.net c# data-binding wpf xaml

3
推荐指数
1
解决办法
9176
查看次数

标签 统计

.net ×1

c# ×1

data-binding ×1

wpf ×1

xaml ×1