Tôi có một kiểu và tôi muốn liên kết lệnh với của EventSetter
với RelativeSource
. Lệnh nằm trong viewModel.wpf eventsetter handler ràng buộc theo kiểu
<Style x:Key="ItemTextBlockEventSetterStyle" TargetType="{x:Type TextBlock}">
<EventSetter Event="MouseLeftButtonDown"
Handler="{Binding TextBlockMouseLeftButtonDownCommand,
RelativeSource={RelativeSource Self}}"/>
</Style>
Vấn đề là tôi nhận được một lỗi, vì cái gì là sai với điều này (có lẽ nó không thể làm điều này trong một cách dễ dàng như vậy)
Tôi đã googled rất nhiều trước đó, và tôi thấy các AttachedCommandBehaviour
, nhưng tôi nghĩ rằng nó không hoạt động với phong cách.
Bạn có thể đưa ra một số gợi ý về cách giải quyết vấn đề này không?
Cập nhật 13/10/2011
Tôi thấy điều này trong MVVM nhẹ Toolkit EventToCommand
dụ chương trình:
<Button Background="{Binding Brushes.Brush1}"
Margin="10"
Style="{StaticResource ButtonStyle}"
Content="Simple Command"
Grid.Row="1"
ToolTipService.ToolTip="Click to activate command">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cmd:EventToCommand Command="{Binding SimpleCommand}" />
</i:EventTrigger>
<i:EventTrigger EventName="MouseLeave">
<cmd:EventToCommand Command="{Binding ResetCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
Nhưng ở đây, các ràng buộc không có trong phong cách. Làm thế nào tôi có thể đặt EventToCommand
này vào kiểu nút?
Ý tưởng hay là đặt lệnh thực hiện cho sự kiện, nhưng tôi sẽ thử AttachCommandBehavior vào ngày mai! Cảm ơn rất nhiều câu trả lời! –
AttachCommandBehavior hoạt động hoàn hảo. Một điều mà tôi không chắc chắn làm thế nào để giải quyết. Tôi muốn ràng buộc các lệnh không chỉ cho một sự kiện và tôi đã tìm thấy loại giải pháp sau: http://stackoverflow.com/questions/926451/how-can-i-attach-two-attached-behaviors-to-one- xaml-element Nó thực sự tốt, nhưng làm thế nào tôi có thể đặt CommandBehaviorCollection này cho phong cách? Cảm ơn trước vì câu trả lời của bạn! –
@ ZoltánBarna Nó có vẻ không hoạt động trong Kiểu hoặc Mẫu – Rachel