WPF TextBlock MouseUp更改ViewModel属性

时间:2014-09-11 13:42:42

标签: c# wpf xaml mvvm

我希望能够点击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

DataTrigger我还需要TextBlock,以便在IsEditing为false时更改可见性。我已经有了转换器。

我不确定在哪里寻找这个,我可以帮忙。

1 个答案:

答案 0 :(得分:2)

最好的方法之一是使用交互(请参阅can we use <i:Interaction.Triggers> in WPF MVVM (not in Silverlight)进行设置)

然后在文本块中添加以下内容:

<i:Interaction.Triggers>
    <i:EventTrigger EventName="PreviewMouseUp">
        <i:InvokeCommandAction Command="{Binding ChangeIsEditing}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

其中ChangeIsEditing是DataContext / ViewModel中的一个命令,可根据需要更改IsEditing