Well, you're going to have problems because of drawing order alone.
The only problem that I see is that you have the Rectangle below the Border, which means that it will be drawn over the Border. And since it has the same size, it will obscure the Border.
Just move the Border below the Rectangle.
Otherwise, you should be fine.
Copying your code and doing what I said worked for me.
And FYI, the other thing you could do would be to hook the SizeChanged Event of whatever you could be resizing. But the Binding Element seems to work pretty well.
Hooking the SizeChanged event can be useful when you're wanting to scale all of the items in a parent item. For instance, if you wanted a box to fill 95% of the canvas. In that case, you can click on your canvas control in the designer. Then, in the properties window, click the Events Tab.
Once inside Events, scroll down to SizeChanged and in the empty box to the right of it, double-click. This will take you to the code page.
In the code page, you can do it a couple of ways, but one way would be something like this:
private void thumbCanvas_SizeChanged(object sender, SizeChangedEventArgs e)
myBorder.Height = e.NewSize.Height * 0.95;
myBorder.Width = e.NewSize.Width * 0.95;