WPF - Get the ListBox row object from a button that is on the DataTemplate
I have a list box with a data template.  The template has a button on it.  When the button is clicked I want to do some logic with the object that is each row (in this cased an object called WorkItemTypeMappings).

In the OnClick how can I go from the Button (`object sender`) to the object that is row that the button is on?

Here is the XAML of my list box:

    <ListBox ItemsSource="{Binding Source={StaticResource WorkItemTypeMappingsCollectionView}}" HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Name="lstWITypes">
        <ListBox.GroupStyle>
            <x:Static Member="GroupStyle.Default"/>
        </ListBox.GroupStyle>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid HorizontalAlignment="Stretch">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="2*"/>
                        <ColumnDefinition Width="2*"/>
                        <ColumnDefinition Width="50"/>
                    </Grid.ColumnDefinitions>
                    <TextBlock Grid.Column="0" Text="{Binding SourceType, Converter={StaticResource WorkItemTypeToStringConverter}}"/>
                    <ComboBox Grid.Column="1" SelectedItem="{Binding DestType}" ItemsSource="{Binding WorkItemTypesForCurrentDestProject, Source={x:Static loc:MainMediator.Instance}, diagnostics:PresentationTraceSources.TraceLevel=High}" DisplayMemberPath="Name" />

                    <!-- This is the button-->
                    <Button Grid.Column="2" Content="{Binding PercentMapped}" 
                            Click="ManualMappingClick"/>
                </Grid>
            </DataTemplate>                                        
        </ListBox.ItemTemplate>
    </ListBox>
WPF - Get the ListBox row object from a button that is on the DataTemplate
===

I have a list box with a data template.  The template has a button on it.  When the button is clicked I want to do some logic with the object that is each row (in this cased an object called WorkItemTypeMappings).

In the OnClick how can I go from the Button (`object sender`) to the object that is row that the button is on?

Here is the XAML of my list box:

    <ListBox ItemsSource="{Binding Source={StaticResource WorkItemTypeMappingsCollectionView}}" HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Name="lstWITypes">
        <ListBox.GroupStyle>
            <x:Static Member="GroupStyle.Default"/>
        </ListBox.GroupStyle>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid HorizontalAlignment="Stretch">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="2*"/>
                        <ColumnDefinition Width="2*"/>
                        <ColumnDefinition Width="50"/>
                    </Grid.ColumnDefinitions>
                    <TextBlock Grid.Column="0" Text="{Binding SourceType, Converter={StaticResource WorkItemTypeToStringConverter}}"/>
                    <ComboBox Grid.Column="1" SelectedItem="{Binding DestType}" ItemsSource="{Binding WorkItemTypesForCurrentDestProject, Source={x:Static loc:MainMediator.Instance}, diagnostics:PresentationTraceSources.TraceLevel=High}" DisplayMemberPath="Name" />

                    <!-- This is the button-->
                    <Button Grid.Column="2" Content="{Binding PercentMapped}" 
                            Click="ManualMappingClick"/>
                </Grid>
            </DataTemplate>                                        
        </ListBox.ItemTemplate>
    </ListBox>