0

我正在使用 Silverlight 5。我有一个简单的 UserControl,如下所示:

<UserControl x:Class="GIS.VerticalDeformationGraphic"
    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" >
    <Viewbox Grid.Column="0" MinHeight="400" >
        <Canvas Width="65" Height="450">
            <Rectangle Canvas.Left="5" Canvas.Top="10" Width="15" Height="400" HorizontalAlignment="Left">
                <Rectangle.Fill>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                        <GradientStop Color="DarkRed" Offset="0.0" />
                        <GradientStop Color="Red" Offset="0.2" />
                        <GradientStop Color="Yellow" Offset="0.4" />
                        <GradientStop Color="LightGreen" Offset="0.5" />
                        <GradientStop Color="LightBlue" Offset="0.6" />
                        <GradientStop Color="Blue" Offset="0.8" />
                        <GradientStop Color="DarkBlue" Offset="1.0" />
                    </LinearGradientBrush>
                </Rectangle.Fill>
            </Rectangle>
        </Canvas>
    </Viewbox>
</UserControl>

我的 xaml 页面中有这样的参考:

xmlns:local="clr-namespace:GIS"

我尝试将用户控件放在网格单元格中,如下所示:

<local:VerticalDeformationGraphic Grid.Column="0" />

如果我使用 UserControl 中的 ViewBox 并将整个内容粘贴到网格中,我唯一要做的更改是将 Grid.Column 分配给 ViewBox 并且它可以工作。我缺少什么使 UserControl 无法显示为 UserControl?

这正是我在页面中使用它的方式:

<Grid Grid.Row="1">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <!--<sdk:Label Grid.Column="0" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10,1,0,1"
               Content="A Graphic Goes Here">
    </sdk:Label>-->
    <local:VerticalDeformationGraphic Grid.Column="0" Height="450" Width="65" />

请注意,标签在我将其注释掉之前有效。

4

1 回答 1

1

代码隐藏必须调用 InitializeComponent( )。当我右键单击项目并选择添加/新建项目/Silverlight 时,我没有 Silverlight UserControl 的选项...所以我刚刚添加了一个 xaml 文件。

于 2012-09-05T18:30:33.953 回答