繁体   English   中英

c#如何修改ListView

[英]c# How to modify a ListView

我有一个具有ListView的GUI应用程序。 它用于显示应用程序的日志。 在xaml中,我具有以下内容:

<ListView x:Name="lvStatus" Margin="5,5,5,5" ItemsSource="{Binding LogView}"
                          ItemTemplate="{StaticResource StatusListTemplate}">
                </ListView>

在代码中,listView被初始化并与ListCollectionView一起使用:

public ListCollectionView LogView {get; private set; }
 ...
ObservableCollectionLog uiLogSink = new ObservableCollectionLog();
                Logger.RegisterLogSink(uiLogSink);
                LogView = new ListCollectionView(uiLogSink.Entries);

我想在某个时候清除ListView。 我不能只运行ListView.Clear。

知道如何控制ListView吗?

谢谢托尼

只需清除绑定的数据源即可。

您可以创建一个包装uiLogSynk的CollectionView并将listView绑定到CollectionView:

_view =新的ListCollectionView(uiLogSynk);

每当您单击“清除”日志按钮时,都会记录uiLogSynk的长度。

int startDisplayLogIndex = 0;

public void buttonClick(...){startDisplayLogIndex = uiLogSynk.Length; }

您要做的就是在_view上附加一个过滤器,并指定一个比较每个元素索引的过滤器函数。

_view.Filter = new谓词(ShouldDisplayLog);

公共布尔IsValueTruck(对象值){返回(uiLogSynk.IndexOf(value)> = startDisplayLogIndex); }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM