【发布时间】:2014-09-11 13:42:42
【问题描述】:
我希望能够单击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 中。
我还需要在这个TextBlock 中添加一个DataTrigger,以便在IsEditing 为假时更改可见性。我已经有一个转换器了。
我不知道在哪里可以找到这个,我可以帮忙。
【问题讨论】:
-
您需要的是附加行为。我建议通过 nuuget 下载
Mvvm light。然后,这允许您在混合中打开您的项目并将EventToCommand行为拖放到您的文本块上,从而允许您在单击文本块时触发命令 -
MouseUp="{Binding MyMouseCommand}"会这样做吗? -
是的,听起来不错,然后您可以使用 MyMouseCommand 做任何您想做的事情。在混合中,一旦你将附加的行为放到你的文本块上,你可以改变很多东西(触发器类型、事件、命令等)