Заполнение окна браузера с приложением Silverlight

Существует SKLabel, вы можете использовать это

let scoreLabel = SKLabelNode(fontNamed: "Chalkduster")
scoreLabel.text = "Score: 0"
scoreLabel.horizontalAlignmentMode = .right
scoreLabel.position = CGPoint(x: 980, y: 700)
addChild(scoreLabel)
14
задан Community 23 May 2017 в 10:32
поделиться

4 ответа

Во-первых, я не устанавливаю высоту/ширину в пользовательском элементе управления. Вместо этого я установил DesignHeight и DesignWidth (в пространстве имен "http://schemas.microsoft.com/expression/blend/2008"), и я установил выравнивание для протяжения

<UserControl ... 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
    d:DesignHeight="1050" d:DesignWidth="1680">

В моем HTML я установил Высоту и Ширину к 100% как это...

<div style="height: 100%; width: 100%; position: fixed;">
        <asp:Silverlight runat="server" Source="~/ClientBin/My.xap" ID="MyId" 
            Width="100%" Height="100%" />
</div>

В той точке все работает на меня, чтобы иметь его, берут все окно.

18
ответ дан 1 December 2019 в 13:34
поделиться

Удалите атрибуты Высоты и Ширины из:

<UserControl
     x:Class="Client.Page"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

Автоматическая Высота и Ширина с изменяют размер окна для установки содержанию. При удалении атрибутов Высоты и Ширины Приложение Silverlight вырастет для установки окну.

0
ответ дан 1 December 2019 в 13:34
поделиться

Хм

Я думаю, что Ваша Сетка является установкой, чтобы быть как можно меньше (никакой "звездообразный" столбец или строка). Можно ли попробовать еще одним столбцом и строкой со "звездообразным" размером?

как другой указали, также необходимо удалить "автоматические" размеры, так как они автоизмеряют к содержанию.

также попытайтесь выбрать цвет фона на странице, таким образом, Вы видите, где она на самом деле расширяется.

0
ответ дан 1 December 2019 в 13:34
поделиться

Если у вас довольно сложный HTML-макет и вы не можете полагаться на фиксированное позиционирование, то вы можете изменить размер div #silverlightControlHost, используя следующее:

private bool _hasResized;

protected override Size ArrangeOverride(Size finalSize)
{
    if (!_hasResized)
    {
        HtmlPage.Document.GetElementById("silverlightControlHost").SetStyleAttribute("height", finalSize.Height.ToString());
        _hasResized = true;
    }

    return base.ArrangeOverride(finalSize);
}

Вы можете поместить это внутрь MainPage.cs или, если у вас есть вложенные UserControls, то в тот элемент управления, который требует наибольшей высоты. Я также использую следующий XAML и HTML по умолчанию, который предоставляет Visual Studio

<UserControl ...
    VerticalAlignment="Stretch"
    Height="Auto"
    Width="Auto">

Я не тестировал его без этих настроек, насколько я знаю, Auto является настройкой по умолчанию.

0
ответ дан 1 December 2019 в 13:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: