WPF - 不显示画布背景

时间:2014-07-20 10:39:56

标签: c# wpf background wpf-controls imagebrush

我是WPF的新手。我已经在个人项目上工作了大约两个星期。它一直在前进,突然遇到障碍。一切都很完美,直到我转移了一些东西。

它基本上是一个卫星地图作为画布背景,因此我可以在其上叠加几何图形。图像为10000x10000,并未更改。它已添加为资源,并且......很有趣,显示在Visual Basic xaml设计器中。

local:ZoomBorder类缩放/平移视图框/画布。我没有发布代码,因为它上次工作后没有被触及。

正确地将几何图形添加到画布中。

就网格而言,我移动了一些维度。就像添加边距等一样,但无论我做什么,都无法恢复显示画笔背景。

<Window x:Class="Temp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Temp"
    Title="MainWindow" Height="930" Width="1100" PreviewKeyDown="mapBorder_PreviewKeyDown">
<Grid Margin="5">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" MinWidth="210" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <ScrollViewer Grid.Row="2" Grid.Column="0">
        <StackPanel Name="stackPanel" />
    </ScrollViewer>
    <local:ZoomBorder x:Name="mapBorder" Background="Gray" Margin="0" Grid.Column="1" Grid.Row="2" ClipToBounds="True">
        <Viewbox>
            <Canvas Name="mapGrid" Height="10000" Width="10000">
                <Canvas.Background>
                    <ImageBrush ImageSource="map.jpg"/>
                </Canvas.Background>
            </Canvas>
        </Viewbox>
    </local:ZoomBorder>
    <Button Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left" MinWidth="80" Margin="10,0,0,0" Content="Start Refresh" Width="80" Click="buttonStartRefresh" />
    <Button Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left" MinWidth="80" Margin="110,0,0,0" Content="Stop Refresh" Width="80" Click="buttonStopRefresh" />
    <CheckBox Name="Advanced" Grid.Column="1" Grid.Row="1" Margin="10,0,0,0">
        <Label Margin="0,-5,0,0">Advanced</Label>
    </CheckBox>
</Grid>
</Window>

0 个答案:

没有答案