【问题标题】:Why does Canvas::GetLeft always return 0?为什么 Canvas::GetLeft 总是返回 0?
【发布时间】:2013-02-14 17:36:18
【问题描述】:
<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 文件中

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

当我调试应用程序时,我总是得到0.00 for x。为什么这样?还是有一些关于父母的翻译?我还尝试将 Canvas 命名为 myCanvas 并命名为 myCanvas-&gt;GetLeft(selBox);,但我仍然得到相同的结果。

【问题讨论】:

    标签: windows-store-apps winrt-xaml c++-cx


    【解决方案1】:

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

    【讨论】:

    • 哇,谢谢!!做selBox-&gt;Margin.Left 给出正确的(我的意思是,正确的)价值:)
    猜你喜欢
    • 2021-01-24
    • 2016-09-16
    • 2020-05-25
    • 2013-02-26
    • 2013-06-25
    • 1970-01-01
    • 2011-12-13
    • 2011-06-28
    相关资源
    最近更新 更多