0

非常に単純なXAMLのバリエーションが2つあります。まず、キャンバスの背景を単色のブラシでペイントするバリエーションです。

<UserControl x:Class="CanvasBackground.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <Grid x:Name="LayoutRoot">
        <Canvas x:Name="SeedCanvas">
            <Canvas.Background>
                <SolidColorBrush Color="Aquamarine" />
            </Canvas.Background>
        </Canvas>
    </Grid>
</UserControl>

これは、かなり単純なHTMLページでホストされます

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>CanvasBackground</title>
<style type="text/css">
    html, body {
        height: 100%;
        overflow: auto;
    }
    body {
        padding: 0;
        margin: 0;
    }
    #silverlightControlHost {
        height: 100%;
        text-align:center;
    }
</style>
</head>
<body>
<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%">
        <param name="source" value="ClientBin/CanvasBackground.xap"/>
        <param name="background" value="transparent" />
    </object>
</div>
</form>
</body>
</html>

ページをコンパイルして開くと、期待どおりの空のアクアマリンページが表示されます。ただし、このようにSolidColorBrushの代わりにImageBrushを使用するようにXAMLを変更すると、ページが黒くなります。画像はデザインビューに表示されますが(おそらく、デザイン時間の高さと幅が設定されているため)、ページには表示されません。

<UserControl x:Class="CanvasBackground.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <Grid x:Name="LayoutRoot">
        <Canvas x:Name="SeedCanvas">
            <Canvas.Background>
                <ImageBrush ImageSource="/images/Autum.jpg" Stretch="Fill"/>
            </Canvas.Background>
        </Canvas>
    </Grid>
</UserControl>
4

1 に答える 1

0

キーは、Silverlightプロジェクトのイメージのプロパティ「BuildAction」にありました。「リソース」に設定し、「コンテンツ」に変更すると問題が修正されました。

于 2012-08-30T16:50:59.880 に答える