gpt4 book ai didi

c# - 当 ListView 中的数据更改时,WPF 获取 "old"值

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:27 26 4
gpt4 key购买 nike

我有带对象的 TreeView。当我选择这些树的项目时,而不是其他控件 - ListView 显示为所选对象的项目属性。我想在 TreeView 选择更改为其他对象时保存属性值。那么,在 WPF 中有没有一种很好的方法来获取 ListView 控件中“刚好在更改之前”项的值?我现在的想法是覆盖 PreviewMouseDown 以检查用户是否单击树节点。天哪,我的意思是比我的好。也许 ListView 模板中有什么?表明无需使用 PreviewMouseDown 改变我的想法也是一个很好的答案。

最佳答案

能否请您提供相关的代码片段?我试着回答你的问题,但我不确定我是否理解正确。如果将 TreeView 的 SelectedItem 绑定(bind)到属性(即使用 MVVM 模式),则可以在实际设置项目之前保存值。

虽然在 setter 中这样做并不是很好,因为它变得非常大。我会有这样的二传手:

private Foo bar;
public Foo Bar
{
get { return bar; }
set
{
OnPropertyChanging("Bar");
bar=value;
OnPropertyChanged("Bar");
}
}

然后你可以监听你自己的 PropertyChanging 事件并在那里做你的事情:

private void this_PropertyChanging(object param, PropertyChangingEventArgs e)
{
switch(e.PropertyName)
{
case "Bar":
//Do you stuff
break,
}
}

关于c# - 当 ListView 中的数据更改时,WPF 获取 "old"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31741509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com