使用 this question (Inline editing TextBlock in a ListBox with DataTemplate (WPF)我现在有一个 ListBox
,可以双击它来编辑其中的项目。我现在想要的是在窗体上有一个 Button
,单击它会向 ListBox
添加一个新项目(这很容易),但随后更改 ListBoxItem
进入编辑模式,因此用户可以立即输入值。您将如何选择正确的 ListBoxItem
,然后在其中找到 TextBlock
和 TextBox
并使用 SelectedIndex 更改它们的可见性
?
最佳答案
我知道这是一个非常晚的答案,但您是否考虑过为您的项目添加 BeginEdit
和 EndEdit
方法?然后你可以做类似的事情:
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/