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文本块鼠标上移更改ViewModel属性

最好的方法之一是使用交互(请参阅我们是否可以在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

相关文章: