WPF文本块鼠标上移更改ViewModel属性
本文关键字:ViewModel 属性 文本 鼠标 WPF | 更新日期: 2023-09-27 18:21:41
我希望能够单击TextBlock
和我的绑定IsEditing
进行更改。
<TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Description}" ToolTip="{Binding Description}" FontSize="12" TextTrimming="CharacterEllipsis" Visibility="{Binding IsEditing, Converter={StaticResource InverseBoolToVisibilityConverter}}">
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<EventTrigger RoutedEvent="PreviewMouseUp">
</EventTrigger>
</Style.Triggers>
</Style>
</TextBlock>
我确信它会进入EventTrigger
。
当IsEditing
为false时,我还需要此TextBlock
中的DataTrigger
来更改可见性。我已经有了一个转换器。
我不知道在哪里找这个,能帮我点忙吗。
最好的方法之一是使用交互(请参阅我们是否可以在WPF MVVM(而不是Silverlight)中使用<i:Interaction.Triggers>进行设置)
然后只需在文本块中添加以下内容:
<i:Interaction.Triggers>
<i:EventTrigger EventName="PreviewMouseUp">
<i:InvokeCommandAction Command="{Binding ChangeIsEditing}" />
</i:EventTrigger>
</i:Interaction.Triggers>
其中ChangeIsEditing是DataContext/ViewModel中的一个命令,用于根据需要更改IsEditing
。