2013-02-28 110 views
0
<Canvas Background="Black"> 
     <Rectangle Fill="Salmon" Name="selBox" Width="100" Height="100" Margin="657,175" /> 
     <Button x:Name="btnAnimate" Content="Animate" HorizontalAlignment="Left" Margin="721,422,0,0" VerticalAlignment="Top" Click="btnAnimate_Click" /> 
</Canvas> 

是我的XAML。我已经写了,在MainPage.xaml.cpp文件为什么Canvas :: GetLeft总是返回0?

void App1::MainPage::btnAnimate_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) 
{ 
    auto x = Canvas::GetLeft(selBox); 
} 

当调试应用程序,我总是得到0.00对于x。为什么这样?还是有一些关于父母的翻译?我也尝试命名画布myCanvas,并做了myCanvas->GetLeft(selBox);,我仍然得到相同的。

回答

1

你有什么你写的:你没有在你的Rectangle上设置Canvas.Left,它默认为0。保证金影响最终布局,但不影响Canvas.Left或Right或任何其他两个。

+0

哇,谢谢!做'selBox-> Margin.Left'给出正确的(我的意思是正确的)值:) – legends2k 2013-02-28 14:02:00