Wpf 用于将事件发送到viewmodel的Listbox项用户控件
我创建了一个用户控件,它允许对列表框项进行内联编辑 它是一个文本块和一个文本框,它们相互重叠。双击listbox项时,TextBlock将隐藏,TextBox将变为可见,以便进行编辑 我的列表框绑定到viewmodel的ObservableCollection属性 问题 我不想:Wpf 用于将事件发送到viewmodel的Listbox项用户控件,wpf,mvvm,Wpf,Mvvm,我创建了一个用户控件,它允许对列表框项进行内联编辑 它是一个文本块和一个文本框,它们相互重叠。双击listbox项时,TextBlock将隐藏,TextBox将变为可见,以便进行编辑 我的列表框绑定到viewmodel的ObservableCollection属性 问题 我不想: 1.捕捉编辑模式“开”,告诉ViewModel做一些事情,例如准备编辑 2.捕捉编辑模式“关闭”以告知ViewModel提交更改/编辑 我应该为此使用EventHandler,还是给我的用户控件一个ViewModel,
1.捕捉编辑模式“开”,告诉ViewModel做一些事情,例如准备编辑
2.捕捉编辑模式“关闭”以告知ViewModel提交更改/编辑 我应该为此使用EventHandler,还是给我的用户控件一个ViewModel,然后通过消息发送所需的任务 如果我使用EventHandler,我需要将事件分配给所选listbox项的用户控件-我将如何做
谢谢阅读。顺便说一句,不要隐藏文本块和显示文本框,试试这个解决方案
<TextBox Text="Text" Width="100" Height="100">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Focusable" Value="False"/>
<Style.Triggers>
<EventTrigger RoutedEvent="PreviewMouseDown">
<BeginStoryboard>
<Storyboard>
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="Focusable">
<DiscreteBooleanKeyFrame Value="True"/>
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
感谢您采用了更简洁的方法。如何使文本框看起来/功能类似于文本块?现在它们都是可编辑的@迈克尔:有什么问题?如果您想要文本框,但外观不同,可以使用默认模板。