Я думаю, вам лучше разместить холст внутри границы, а затем указать толщину границы в вашем коде. Затем в своем коде вы можете программно включать и выключать границу.
XAML:
<Border x:Name="CanvasBorder" BorderBrush="Black">
<Canvas>
<!--Items here-->
</Canvas>
</Border>
Codebehide:
// Turn on border
CanvasBorder.BorderThickness = new Thickness(1);
// Turn off border
CanvasBorder.BorderThickness = new Thickness(0);