c# - 当在表单上的某处单击按钮时,wpf 编辑列表框中的项目

标签 c# wpf events button listbox

使用 this question (Inline editing TextBlock in a ListBox with DataTemplate (WPF)我现在有一个 ListBox,可以双击它来编辑其中的项目。我现在想要的是在窗体上有一个 Button,单击它会向 ListBox 添加一个新项目(这很容易),但随后更改 ListBoxItem 进入编辑模式,因此用户可以立即输入值。您将如何选择正确的 ListBoxItem,然后在其中找到 TextBlockTextBox 并使用 SelectedIndex 更改它们的可见性?

最佳答案

我知道这是一个非常晚的答案,但您是否考虑过为您的项目添加 BeginEditEndEdit 方法?然后你可以做类似的事情:

CustomListBoxItem foo = new CustomListBoxItem();
customListBoxInstance.Add(foo);
foo.BeginEdit();

我必须使用一些需要创建的自定义控件并立即进入编辑模式。你最终会得到类似的东西:

private void TextBlock1_DoubleClick(object sender, RoutedEventArgs e)
{
    BeginEdit();
}

public void BeginEdit()
{
    // Code to put the item into edit mode.
}

我需要查看更多代码才能给出更准确的答案,但根据我的经验,这在控制控件是否处于该控件范围之外的编辑模式方面非常有效。

关于c# - 当在表单上的某处单击按钮时,wpf 编辑列表框中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2280403/

相关文章:

javascript - 在 C# 中发出 XHR 请求

c# - 如何在文本中编辑与帐号匹配的行

c# - 为什么我的 UserControl 不显示在设计器中?

java - 当分隔符移动到 ComponentListener 内时,JSplitPane 会阻止 PropertyChangeEvent

javascript setAttribute 'className' 在Load上起作用,但在Click上不起作用

javascript - 如何阻止页面在 JS 中卸载(导航离开)?

c# - 从 DataRow 获取 int 值而不转换为字符串

c# Linq 关键字?

wpf - 在 xaml 中设置自定义窗口属性

wpf - 旋转 Canvas 不应旋转其子 Canvas