gpt4 book ai didi

data-binding - Silverlight 列表框 : Binding does not get updated

转载 作者:行者123 更新时间:2023-12-04 04:50:01 24 4
gpt4 key购买 nike

我有一个包含多个步骤的向导控件。不可见的控件将从可视树中删除。我有一个 ListBox在一页上,绑定(bind)到 ObservableCollection<T> .当项目被添加或删除到 ListBox在一页上,ListBox在另一个页面上(具有相同的 ItemsSource ),另一个页面上的绑定(bind)不会更新。我希望这足以清楚地解释我的问题。

当页面再次添加到可视化树时,如何更新此绑定(bind)?

最佳答案

我无法重现您的问题。我能够从可视树中删除一个 ListBox,将对象添加到 ObservableCollection,当我将它添加到可视树时,项目实际上会更新。

尝试通过将可见性设置为 Collapsed 而不是从 Visual Tree 中删除来解决您的问题。

public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();

this.listBox1.ItemsSource = o;
this.listBox2.ItemsSource = o;
}

ObservableCollection<int> o = new ObservableCollection<int>();
private void buttonList1_Click(object sender, RoutedEventArgs e)
{
if (this.listBox1.Parent == null)
this.LayoutRoot.Children.Add(this.listBox1);
else
this.LayoutRoot.Children.Remove(this.listBox1);

//this.listBox1.Visibility = this.listBox1.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
}

private void buttonList2_Click(object sender, RoutedEventArgs e)
{
if (this.listBox2.Parent == null)
this.LayoutRoot.Children.Add(this.listBox2);
else
this.LayoutRoot.Children.Remove(this.listBox2);

//this.listBox2.Visibility = this.listBox2.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
}

private void ButtonAddMore_Click(object sender, RoutedEventArgs e)
{
o.Add(o.Count);
}

}

关于data-binding - Silverlight 列表框 : Binding does not get updated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6609709/

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