WPF 中的 Listview 不会自动更新

这么远

我有一个显示搜索框搜索结果的列表视图。加载窗口时,数据库中的所有数据都显示在列表视图中 - “这很好”。

但是当我搜索事物时,视图模型中的变量会更改并存储新数据,但列表视图不会显示来自变量的新数据。

列表视图的 XAML 代码

<ListView x:Name="itemsListView" ScrollViewer.CanContentScroll="True"
                  ItemsSource="{Binding Rows, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"
              Grid.Row="1"
              HorizontalAlignment="Stretch"  
              VerticalAlignment="Stretch"
              Margin="40,10,40,10"
              FlowDirection="RightToLeft" IsSynchronizedWithCurrentItem="True" SelectedIndex="1">
    <ListView.View>
        <GridView AllowsColumnReorder="False">
            <GridViewColumn DisplayMemberBinding="{Binding BankName}" 
                            Width="250"
                            Header="bank name"/>
            <GridViewColumn DisplayMemberBinding="{Binding Credit}" 
                            Header="credit"
                            Width="100"/>
            <GridViewColumn DisplayMemberBinding="{Binding IsActive}" 
                            Header="statue"
                            Width="100"/>
            <GridViewColumn DisplayMemberBinding="{Binding Notes}" 
                            Header="notes"
                            Width="230"/>
        </GridView>
    </ListView.View>
</ListView>

查看型号代码

class BanksVM 
{
    private ObservableCollection<BanksListVM> m_Rows;

    public ObservableCollection<BanksListVM> Rows
    {
        get { return m_Rows; }
        set { m_Rows = value; }
    }

    private string _BanksSearchBox;

    public string BanksSearchBox
    {
        get { return _BanksSearchBox; }
        set {
            _BanksSearchBox = value;
            SearchInBanksMethod();
        }
    }

    //set all data to listview
    public BanksVM()
    {
        Rows = new ObservableCollection<BanksListVM>();
        Rows.Clear();

        List < Banks > bankslist = new List<Banks>();
        Banks banks = new Banks();
        bankslist = banks.GetAllBanks();

        foreach (Banks b in bankslist)
        {
            string IsActive = "";

            if (b.IsActive == true)
                IsActive = "open";
            else
                IsActive = "closed";

            Rows.Add(new BanksListVM
            {
                ID = b.ID,
                BankName = b.BankName,
                IsActive = IsActive,
                Credit = b.Credit,
                Notes = b.Notes
            });
        }
    }

    // refresh listview method
    public void SearchInBanksMethod() { 
        Rows = new ObservableCollection<BanksListVM>();
        Rows.Clear();

        List<Banks> bankslist = new List<Banks>();
        search Search = new search();
        bankslist = Search.SearchInBanks(_BanksSearchBox);

        foreach (Banks b in bankslist)
        {
            string IsActive = "";

            if (b.IsActive == true)
                IsActive = "open";
            else
                IsActive = "closed";

            Rows.Add(new BanksListVM
            {
                ID = b.ID,
                BankName = b.BankName,
                IsActive = IsActive,
                Credit = b.Credit,
                Notes = b.Notes
            });
        }
    }
}
托马斯克里斯托夫

重新分配 ObservableCollection 时,不会通知 Binding 新的属性值。

在 中SearchInBanksMethod,删除

Rows = new ObservableCollection<BanksListVM>();

并且只使用

Rows.Clear();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么 ListView 中的这个 DataTemplate 不会自动更新其绑定?

来自分类Dev

Xamarin:ObservableCollection不会自动更新ListView

来自分类Dev

ListBox中的项目不会自动更新

来自分类Dev

使用MVVM在WPF中自动滚动ListView

来自分类Dev

使用MVVM在WPF中自动滚动ListView

来自分类Dev

Excel中的链接不会自动更新C#

来自分类Dev

WPF 中的 ListView 列

来自分类Dev

在ListView中显示已排序的ObservableCollection,并在基础DBSet发生更改时使其自动更新

来自分类Dev

WPF ListView不更新

来自分类Dev

WPF ListView不更新

来自分类Dev

WPF应用程序中不会刷新ListView数据

来自分类Dev

使用Linq将ListView更新为WPF中的Sql类

来自分类Dev

绑定到静态属性时,ListView在WPF中未更新

来自分类Dev

WPF:在Listview中隐藏GridViewColumn

来自分类Dev

ListView WPF中的项目分组

来自分类Dev

WPf中ListView的平铺视图

来自分类Dev

WPF ListView中的快速筛选

来自分类Dev

在 WPF 中设置 listview ItemContainerStyle

来自分类Dev

WPF 中的 ListView 选择颜色

来自分类Dev

WPF ListView自动增长列

来自分类Dev

外部git分支更改时,Visual Studio中的文件不会自动更新

来自分类Dev

Excel中的Powerpoint-链接的图表不会自动更新路径

来自分类Dev

模型personalDeatail.add值中的数据不会自动更新。我究竟做错了什么?

来自分类Dev

SelectedItem在WPF中的ListView中未绑定

来自分类Dev

WPF ListView不会在PropertyChanged上更新

来自分类Dev

WPF ListView不会在PropertyChanged上更新

来自分类Dev

如何以编程方式更新 Listview (wpf) 中特定行中的特定列

来自分类Dev

XAML中的WPF ListView绑定ItemsSource

来自分类Dev

查找放置在ListView Wpf中的控件

Related 相关文章

热门标签

归档