このリソースCentering On Canvasを見つけました。しかし、問題は、キャンバスの左と上の値がゼロを返し、例外をスローしているため、C# を介して同じことを使用できないことです。常に xaml を介してキャンバスに要素を配置するとは限らないため、C# を使用してこれを実装するにはどうすればよいでしょうか。助けてください。
<Canvas.Left>
<MultiBinding Converter="{StaticResource MidValue}"
ConverterParameter="1">
<Binding ElementName="cnvMain2"
Path="ActualWidth" />
<Binding ElementName="tbSize2"
Path="ActualWidth" />
</MultiBinding>
</Canvas.Left>
<Canvas.Top>
<MultiBinding Converter="{StaticResource MidValue}"
ConverterParameter="7">
<Binding ElementName="cnvMain2"
Path="ActualHeight" />
<Binding ElementName="tbSize2"
Path="ActualHeight" />
</MultiBinding>
</Canvas.Top>