Странное поведение WebBrowser с полями - PullRequest
0 голосов
/ 13 апреля 2011

Я занимаюсь разработкой приложения для Windows Phone.

У меня есть пользовательский элемент управления со следующим кодом XAML:

<UserControl x:Class="XXXXXXX.Views.SignIn.FacebookControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    d:DesignHeight="768" d:DesignWidth="480">

    <Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
        <!--ContentPanel. Colocar aquí el contenido adicional-->
        <Grid x:Name="ContentPanel" Margin="12,0,12,0">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <TextBlock
                Grid.Row="1" 
                Height="30" 
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                Visibility="Visible" 
                Margin="10"
                Name="LoadingText"
                Text="{Binding Path=AppResources.BrowserNavigating, Source={StaticResource LocalizedStrings}}"/>
            <phone:WebBrowser
                Grid.Row="0"
                Name="FacebookLoginBrowser"
                IsScriptEnabled="True"
                Height="607"
                VerticalAlignment="Top"
                HorizontalAlignment="Stretch"
                Margin="0,10"
                Navigated="FacebookLoginBrowser_Navigated"
                Loaded="FacebookLoginBrowser_Loaded"
                Navigating="FacebookLoginBrowser_Navigating"/>
        </Grid>

    </Grid>
</UserControl>

Я понял:

WebBrowser margin error

WebBrowser имеет левое поле, больше его правого поля.

UPDATE

И вот как я встраиваю свой пользовательский элемент управления:

facebookControl = new FacebookControl();
facebookControl.SetValue(Grid.RowSpanProperty, 2);
facebookControl.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
facebookControl.VerticalAlignment = System.Windows.VerticalAlignment.Top;
facebookControl.Margin = new Thickness(0);
facebookControl.Height = 768;
facebookControl.Width = 480;
ContentPanel.Children.Add(facebookControl);

И это определение для ContentPanel:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
...

Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 13 апреля 2011

Поля несбалансированы, потому что вы явно устанавливаете Ширина . Не устанавливайте Width или HorizontalAlignment на facebookControl, и он должен заполнять доступное пространство и быть визуально сбалансированным.

0 голосов
/ 13 апреля 2011

Ваша сетка ContentPanel имеет поля (по 12 пикселей) с обеих сторон, но правая не столь очевидна с отображаемыми счетчиками производительности. Это проблема?

...