You don't need to change the zorder to put it "on top"; you just span the whole grid and then position it the way you want and add it to the (XAML) visual tree last. Or put a canvas behind it for abolute positioning. The button can be placed anywhere relative to the progress "widget" using the same priciples. As for "hit testable", you can "swallow" clicks anytime it simpifies things. (e.Handled = true or false). (If you can "close" the widget, it begs the question: how do you open it. Maybe the button should be on a top or side "command bar": an enable / disable toggle).
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I