wpf datagrid 默认选择为最新的一行,不知道为什么设置不了

Datagird和listview我都是绑定数据。滚动条默认是第一行,怎么才能让其保持在最后一行显示呢?this.dataGrid1.SelectedIndex=this... Datagird 和listview我都是绑定数据。滚动条默认是第一行,怎么才能让其保持在最后一行显示呢?

this.dataGrid1.SelectedIndex = this.dataGrid1.Items.Count - 1;
this.dataGrid1.ScrollIntoView(dataGrid1.SelectedIndex);

this.listview.SelectedIndex = this.listview.Items.Count - 1;
this.listview.ScrollIntoView(listview.SelectedIndex);
不管用,估计是因为我的数据( ObservableCollection)是绑定的

设置断点发现this.listview.SelectedIndex总是-1或者0
展开
 我来答
阳光的雷咩咩
2014-01-26 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7570万
展开全部
//我刚刚试过是可以的
dataGrid1.ScrollIntoView(后台的items.OfType<item类型>().Last())
更多追问追答
追问

试过了还是不行,红框里面是XAML前台程序。做了一个很简单的Listview

追答
你用的究竟是listview还是datagrid?我的回答是针对后者的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xmjkmh
2014-01-26 · 超过31用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:63.8万
展开全部
this.dataGrid1.SelectedIndex = this.dataGrid1.Items.Count - 1;
this.dataGrid1.ScrollIntoView(dataGrid1.SelectedItem);
这样就好了
更多追问追答
追问
主要是this.dataGrid1.SelectedIndex = this.dataGrid1.Items.Count - 1;就算给selectimdex赋值它总是0,根本赋值不上。我试过了。我把你给的放在 dataGrid1_MouseDoubleClick事件里,双击其他行,还是默认跳回第一行。
追答
this.dataGrid1.SelectedIndex = this.dataGrid1.Items.Count - 1 别这么设置

this.dataGrid1.SelectedIndex = 数据源集合.Count - 1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
为客宾朋A
2014-01-26
知道答主
回答量:97
采纳率:0%
帮助的人:27万
展开全部
好好看。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式