Silverlight边界失败!

时间:2011-07-05 23:04:40

标签: c# xaml silverlight-4.0

边境失败!! 我在XAML代码中有一个边框,它在主画布之后定义:

<Canvas xmlns="http://schemas.microsoft.com/client/2007"
...      VerticalAlignment="Top" HorizontalAlignment="Center">
    <Border x:Name="JohnnyBorder" BorderThickness="1" Margin="0,0,0,0" BorderBrush="#FF677B8B" VerticalAlignment="Stretch"
            HorizontalAlignment="Center">

在代码中我将边框定位为:

JohnnyBorder = (Border)appCanvas.FindName("JohnnyBorder");
                JohnnyBorder.Height = App.Current.Host.Content.ActualHeight;
                JohnnyBorder.Width = App.Current.Host.Content.ActualWidth;

但它不起作用。 JohnnyBoarder的底线是浏览器底部的几个百分点。为什么呢?

2 个答案:

答案 0 :(得分:2)

我认为将Border 围绕 Canvas更为自然:

<Border>
    <Canvas>
        ...
    </Canvas>
</Border>

默认情况下,Border将填充页面,Canvas将填充Border

答案 1 :(得分:0)

托管您的silverlight应用的页面可能无法为Silverlight应用提供100%的高度。检查托管Silverlight应用程序的html或aspx文件,并确保将其设置为100%高度。

<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">