![](/img/trans.png)
[英]TreeView.ItemContainerGenerator.ContainerFromItem returns null for nonroot items. Workaround?
[英]ItemContainerGenerator.Items in .NET 4.0
我使用.NET 4.5开始了一个项目,现在我必须切换到.NET 4.0。 一切正常,除了缺少ItemContainerGenerator的“项目”-属性。 我用它来查找以键入的键的字母开头的DataGrid的行。 该代码是:
ReadOnlyCollection<object> rows = datagrid.ItemContainerGenerator.Items;
datagrid.ScrollIntoView(rows[rows.Count - 1]);
foreach (DataRowView row in rows)
{
string name = row.Row.ItemArray[0].ToString();
if (name.StartsWith(keyChar + "", StringComparison.OrdinalIgnoreCase))
{
datagrid.ScrollIntoView(row);
datagrid.UpdateLayout();
return;
}
}
注意:调试时,将显示并填充“项目”-属性。
您是否知道一种无需使用“项目”-属性即可访问“项目”-属性的方法或一种变通方法来获得相同的功能? 任何建议都将受到欢迎。
.NET 4.0中似乎存在ItemContainerGenerator.Items: https : //msdn.microsoft.com/zh-cn/library/system.windows.controls.datagrid_properties(v= vs.100).aspx
.NET Framework 4其他版本
...
ItemContainerGenerator获取与控件关联的ItemContainerGenerator。 (继承自ItemsControl。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.