积极答复者
ListBox item绑定是显示最下面的一条

问题
-
ObservableCollection<string> data=new ObservableCollection<string>(); for (int i = 0 ; i < 20 ;i++ ) { string str = "len" + i.ToString(); data.Add(str); } listBox1.ItemsSource = data; listBox1.ScrollIntoView(data[data.Count-1]);
在我的data初始化完成后调用绑定和
listBox1.ScrollIntoView(data[data.Count-1]); 可以显示最下面的item但是现在情况是data的的初始化工作是异步的时候,我 绑定data的时候,他还没初始化完成 所以listBox1.ScrollIntoView(data[data.Count-1]);就没有效果了
除了我在data初始化完成的时候通知调用listBox1.ScrollIntoView(data[data.Count-1]); 的方法 有没有ListBox自己可以解决这个问题的办法
答案
-
<ListBox x:Name="list" ScrollViewer.ScrollChanged="list_ScrollChanged" ItemsSource="{Binding}">
C#:
private void list_ScrollChanged(object sender, ScrollChangedEventArgs e) { if (e.ExtentHeightChange != 0 || e.ViewportHeightChange != 0) { ScrollViewer sv = e.OriginalSource as ScrollViewer; if (sv != null) sv.ScrollToBottom(); } }
Sincerely,Bob Bao [MSFT]
MSDN Community Support | Feedback to us
全部回复
-
<ListBox x:Name="list" ScrollViewer.ScrollChanged="list_ScrollChanged" ItemsSource="{Binding}">
C#:
private void list_ScrollChanged(object sender, ScrollChangedEventArgs e) { if (e.ExtentHeightChange != 0 || e.ViewportHeightChange != 0) { ScrollViewer sv = e.OriginalSource as ScrollViewer; if (sv != null) sv.ScrollToBottom(); } }
Sincerely,Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
挺快速的, 我打开看你的贴子, 已经发现你都删掉了.
Bob Bao [MSFT]
MSDN Community Support | Feedback to us