C# WPF-画布背景不显示

C# WPF-画布背景不显示,c#,wpf,background,wpf-controls,imagebrush,C#,Wpf,Background,Wpf Controls,Imagebrush,我是WPF的新手。我在一个私人项目上工作了大约两周。它一直在前进,突然遇到了路障。在我改变一些事情之前,一切都很顺利 它基本上是一张卫星地图作为画布背景,这样我就可以在上面叠加几何图形。图像为10000x1000,未更改。它被添加为一个资源和。。。有趣的是,它出现在VisualBasicXAML设计器中 local:ZoomOrder类缩放/平移viewbox/canvas。我没有发布代码,因为自从上次运行以来,它一直没有被触动过 正在将几何图形正确添加到画布 我移动了一些维度,直到网格移动。比

我是WPF的新手。我在一个私人项目上工作了大约两周。它一直在前进,突然遇到了路障。在我改变一些事情之前,一切都很顺利

它基本上是一张卫星地图作为画布背景,这样我就可以在上面叠加几何图形。图像为10000x1000,未更改。它被添加为一个资源和。。。有趣的是,它出现在VisualBasicXAML设计器中

local:ZoomOrder类缩放/平移viewbox/canvas。我没有发布代码,因为自从上次运行以来,它一直没有被触动过

正在将几何图形正确添加到画布

我移动了一些维度,直到网格移动。比如添加边距之类的,但无论我做什么,都无法恢复显示imagebrush背景

<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>

要检查可执行文件是否能够找到图像,可以在ImageSource中包含图像的绝对路径,并查看它是否显示。正在将图像添加到更大尺寸的可执行文件中,我也尝试了绝对路径:确保您的map.jpg被添加为资源或至少是内容。要检查它,请右键单击项目树视图下的图像,选择“属性”,您将在“生成操作”中看到当前设置。它将作为资源添加:更新:所以,当我调试程序时。。。背景显示。当我构建时,它不会。另外,如果我将背景更改为一种颜色,效果会很好,图像应该在哪里。