XAML文件中定義的畫布形狀座標時,是有可能做這樣的事情:座標在WPF畫布
<Canvas x:Name="myCanvas"
DockPanel.Dock="Bottom"
VerticalAlignment="Stretch">
<Canvas.Background>
<SolidColorBrush Color="White" Opacity="100" />
</Canvas.Background>
<Ellipse x:Name="ell1"
Width="30"
Height="30"
Stroke="Black"
StrokeThickness="1"
Fill="Red"
Canvas.Left="100"
Canvas.Top="50" />
<Ellipse x:Name="ell2"
Width="30"
Height="30"
Stroke="Black"
StrokeThickness="1"
Fill="Red"
Canvas.Right="100"
Canvas.Top="50" />
<Line Stroke="Black"
StrokeThickness="1"
X1="ell1.Canvas.Right" *** look here ***
Y1="ell1.Canvas.Top + ell1.Height/2" *** look here ***
X2="ell2.Canvas.Left" *** look here ***
Y2="ell2.Canvas.Top + ell2.Height/2" /> *** look here ***
</Canvas>
或做它是通過C#的唯一途徑?
感謝, 馬西莫
是的,但在C#中。在XAML中沒有辦法做到這一點? – user1738687
您可能可以使用MultiBindings和適當的綁定轉換器來綁定屬性,但請注意''Canvas.Right'沒有設置在'ell1'上,'Canvas.Left'不在'ell2'上,所以它們的值是'NaN' 。您應該使用您設置的屬性並根據需要添加/減去橢圓寬度 – Clemens
作爲說明,不透明度是介於0和1之間的雙倍值,所以您應該設置「不透明度=」1「'。但是,無論如何,這是默認設置,所以您不需要根本設置SolidColorBrush的不透明度。更簡單,設置'