I want to adapt the default WPF TreeView / TreeViewItem template to highlight the entire row, as shown in the image:

However, I tried several patterns from googling, but none of them can really make effects, some incorrect answers were even marked as correct ...
There was an answer in the code that seems to work, but it adds extra C # code or doesn't need extra code, but it doesn't work fine.
I do not want to add additional C # code, but I only change the default template. Anyone have any good ideas?
Thank you so much!
---- EDIT ----
@Nick, after using your template, it is displayed as follows:
firstly, he did not select the "whole" line, by "whole" I mean the widest width of the tree.
, , .
