gpt4 book ai didi

wpf - 将焦点设置到 DataGrid 代码隐藏 WPF MVVM 中的第一个单元格

转载 作者:行者123 更新时间:2023-12-03 10:42:56 25 4
gpt4 key购买 nike

我在绑定(bind)到对象集合的 WPF MVVM 应用程序中有一个数据网格(使用带有文本框的数据网格模板作为单元格)。数据网格很简单,只有 2 列(“名称”和“年份”)。该窗口有一个输入按钮,一旦单击该按钮,就会在集合的开头插入一个空白行,从而在数据网格的开头插入一个空白行。

XAML

<Button Name="InsertButton" Command="{Binding InsertCommand}" />

View 模型
public ViewModel()
{
InsertCommand = new DelegateCommand(OnInsert);
}

private void OnInsert(object obj)
{
MyList.Insert(0, new MyItem());
}

这适用于 MVVM 设置,但它想知道是否有一种方法可以在每次单击插入按钮时设置第一个单元格的文本框的焦点,并在后面的 XAML 代码中对其进行编程而不是使用 MVVM?

谢谢

最佳答案

一个好的解决方案是使用 Button Click 实现多个命令。
这是有关如何做到这一点的方法。
https://www.codeproject.com/Articles/25808/Aggregating-WPF-Commands-with-CommandGroup .
之后,在代码隐藏中实现第二个命令,该命令可以使用 UIElement 的“.Focus()”方法启用对所需元素的关注。

另一种方法是在 OnInsert 方法结束时在 ViewModel 中引发一个事件,该事件将在后面的代码中处理,以在所需的 UIElement 上设置 .Focus()。

关于wpf - 将焦点设置到 DataGrid 代码隐藏 WPF MVVM 中的第一个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46694302/

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