I'm using Caliburn.Micro 1.5.2, .NET Framework 4.0.
Method ActionMessage.SetMethodBinding() crashes on this line:
```
if (context.Source.DataContext != null) {
```
The view is a bit longer, so bear with me, please:
```
<UserControl.Resources>
<ContextMenu x:Key="contextMenu"
cal:Action.TargetWithoutContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}"
ItemsSource="{Binding ...}">
<ContextMenu.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal"
cal:Bind.Model="{Binding}">
<TextBlock x:Name="FullName" />
</StackPanel>
</DataTemplate>
</ContextMenu.ItemTemplate>
<ContextMenu.Resources>
<Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource {x:Type MenuItem}}">
<Setter Property="cal:Message.Attach" Value="[Event Click] = [Action Invoke($dataContext)]" />
</Style>
</ContextMenu.Resources>
</ContextMenu>
</UserControl.Resources>
<Grid>
<ListView x:Name="Items">
<ListView.View>
<GridView>
<GridViewColumn Header="Type" DisplayMemberBinding="{Binding Name}" />
</GridView>
</ListView.View>
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource {x:Static GridView.GridViewItemContainerStyleKey}}">
<Setter Property="TreeViewItem.ContextMenu" Value="{StaticResource contextMenu}" />
<Setter Property="Tag" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext}" />
</Style>
</ListView.Resources>
</ListView>
</Grid>
```
View model has method Invoke(...) defined and it is found by Caliburn.Micro.
Yes, I'm using the infamous ActionWithoutContext "hack" to get around ContextMenu not being in the visual tree.
So, first time, when context menu is shown and item is clicked, everything works. However, when I choose different item from ListView, I get this crash.
Somehow __ActionExecutionContext.Source__ property is null.
Am I missing something?
Method ActionMessage.SetMethodBinding() crashes on this line:
```
if (context.Source.DataContext != null) {
```
The view is a bit longer, so bear with me, please:
```
<UserControl.Resources>
<ContextMenu x:Key="contextMenu"
cal:Action.TargetWithoutContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}"
ItemsSource="{Binding ...}">
<ContextMenu.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal"
cal:Bind.Model="{Binding}">
<TextBlock x:Name="FullName" />
</StackPanel>
</DataTemplate>
</ContextMenu.ItemTemplate>
<ContextMenu.Resources>
<Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource {x:Type MenuItem}}">
<Setter Property="cal:Message.Attach" Value="[Event Click] = [Action Invoke($dataContext)]" />
</Style>
</ContextMenu.Resources>
</ContextMenu>
</UserControl.Resources>
<Grid>
<ListView x:Name="Items">
<ListView.View>
<GridView>
<GridViewColumn Header="Type" DisplayMemberBinding="{Binding Name}" />
</GridView>
</ListView.View>
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource {x:Static GridView.GridViewItemContainerStyleKey}}">
<Setter Property="TreeViewItem.ContextMenu" Value="{StaticResource contextMenu}" />
<Setter Property="Tag" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext}" />
</Style>
</ListView.Resources>
</ListView>
</Grid>
```
View model has method Invoke(...) defined and it is found by Caliburn.Micro.
Yes, I'm using the infamous ActionWithoutContext "hack" to get around ContextMenu not being in the visual tree.
So, first time, when context menu is shown and item is clicked, everything works. However, when I choose different item from ListView, I get this crash.
Somehow __ActionExecutionContext.Source__ property is null.
Am I missing something?