Usercontrol’s template is as below.
<ControlTemplate x:Key="MarkerTemplate" >
<ToggleButton x:Name="btnMarkerPin" Click="btnMarkerPin_Click" >
<ToggleButton.Template>
<ControlTemplate >
<Grid>
<Grid>
<Ellipse Fill="Green" Width="25" Height="25" VerticalAlignment="Center" HorizontalAlignment="Center" ToolTip="{Binding}" />
</Grid>
<Popup x:Name="pop" PlacementTarget="{Binding ElementName=pin}" StaysOpen="True" Placement="Top" VerticalOffset="-4" HorizontalOffset="-4" IsOpen="False" Margin="30,-50,0,0" AllowsTransparency="True" >
<Border Opacity=".7" CornerRadius="5" BorderBrush="Red" BorderThickness="2" Background="Yellow">
<Grid Margin="10">
<Button x:Name="btnLinkMarker" Style="{StaticResource LinkButton}" FontWeight="Bold" Content="{Binding}" />
</Grid>
</Border>
</Popup>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="ToggleButton.IsChecked" Value="True">
<Setter TargetName="pop" Property="IsOpen" Value="true"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>
</ControlTemplate>
Click should happen on btnLinkMarker in popup. If i raise event i get an exception object reference not set. Can anyone help. How do i raise this event?
Assign a Command to a button and call Command and not raise an event on the control (
UIartifact).In WPF always avoid acting directly on
UI, as much as it possible. Here, at least in provided question context, it’s something that can be easilly achieved.What are Commands