I've gotten the following to work in a way that I think is acceptable. I don't know if it was the best way or not.
In the DefaultResources.XAML, I have:
<ControlTemplate x:Key="copyPaste" TargetType="Button">
<TextBlock Text="{Binding Tag, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Button}}}" />
</ControlTemplate>
<Style x:Key="copyPasteStyle" TargetType="Button">
<Setter Property="Foreground" Value="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"></Setter>
</Style>
Then in the actual list view, I have
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Tag="{Binding Serial}" Template="{DynamicResource copyPaste}" Click="cell_click" Style="{DynamicResource copyPasteStyle}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
The ContentPresenter
is apparently no longer necessary to remove the button graphic since the "Template" for the button is being set.