【发布时间】:2012-04-12 20:13:13
【问题描述】:
我想以编程方式将我的数据网格的一行显示在视图中。我有超过 100 行。当我创建一行时(我正在通过将一个项目添加到可观察集合中来执行此操作),我希望选择该新行并将其显示在视图中。我能够在我的代码中选择新行,但无法进行滚动。此外,我希望该行的第一个单元格处于编辑模式,以便用户可以输入文本。我正在关注应用程序的 MVVM 模式,并希望在我的视图中保持零代码。我怎样才能做到这一点?
任何帮助或建议将不胜感激......
更新:
这就是我在 XAML 中所做的
<telerik:RadGridView ItemsSource="{Binding AllPartClasses}"
SelectedItem="{Binding SelectedPartClassViewModel, Mode=TwoWay}"
SelectionMode="Single" IsSynchronizedWithCurrentItem="True">
在我的视图模型中我这样做了
void AddNewPartClassExecute()
{
PartClass newPartClass = new PartClass();
PartClassViewModel tempPartClass = new PartClassViewModel(newPartClass);
tempPartClass.IsInValid = true;
AllPartClasses.Add(tempPartClass);
SelectedPartClassViewModel = tempPartClass;
Global.DbContext.PartClasses.AddObject(newPartClass);
//OnPropertyChanged("AllPartClasses");
}
public PartClassViewModel SelectedPartClassViewModel
{
get
{
return _selectedPartClassViewModel;
}
set
{
_selectedPartClassViewModel = value;
OnPropertyChanged("SelectedPartClassViewModel");
}
}
它对我不起作用。
【问题讨论】:
-
被否决,因为标题中使用的“DataGrid”不是 RadGridView,这会破坏搜索结果。
-
另外,这应该被否决,因为从未标记过正确答案,即@KornMuffin's。