C# 从类更改主窗口中的图像

C# 从类更改主窗口中的图像,c#,wpf,C#,Wpf,我正在尝试更改我的主窗口中显示图像的位置,因此在其中我有: <Grid Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="58" Margin="2,0,0,0" Grid.Row="1" VerticalAlignment="Top" Width="100"> <Image Name="BartenderX1X1Image" Source="/Images/KelnerZTaca.gif" Horizonta

我正在尝试更改我的
主窗口中显示图像的位置,因此在其中我有:

<Grid Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="58" Margin="2,0,0,0" Grid.Row="1" VerticalAlignment="Top" Width="100">
    <Image Name="BartenderX1X1Image" Source="/Images/KelnerZTaca.gif" HorizontalAlignment="Left" Height="58" VerticalAlignment="Stretch" Width="100"/>
    <Image Name="BartenderX1X2Image" HorizontalAlignment="Left" Height="58" VerticalAlignment="Stretch" Width="100"/>
</Grid>

当我从我的
main窗口调用它时
什么都没有发生。为什么
bartenderx1x1x1image
中的图像没有消失,而
BartenderX1X2Image.Source
中的图像没有出现?

尝试将可见性设置为visibility。对于BartenderX1X1Image和visibility.Visible对于BartenderX1X2Image是可见的。

,如果它在一个面板内,它们很可能相互重叠。尝试使用StackPanel。 像这样,

<StackPanel Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="58"
            Margin="2,0,0,0" Grid.Row="1" VerticalAlignment="Top" Width="100">
   <Image Name="BartenderX1X1Image" Source="/Images/KelnerZTaca.gif" 
          HorizontalAlignment="Left" Height="58" VerticalAlignment="Stretch"
          Width="100"/>
   <Image Name="BartenderX1X2Image" HorizontalAlignment="Left" Height="58" 
          VerticalAlignment="Stretch" Width="100"/>
</StackPanel>


它在网格中试试这个,@Arun-Move在你的答案中的评论中发布了XAML代码。@RohitVats,转到答案-谢谢你的建议。但是我不想在每个
图像上都有这个图像,只有一个应该有正确的源代码,对于剩余的
Null
如果只有一个图像组件会显示一个图像,为什么要使用两个图像组件?你不能在单个元素上切换源吗?这是唯一一个检查它是否有效的示例。网格的高度只有58,两个图像的高度分别为58,其中一个将离开网格的底部,因此从视图中隐藏。增加网格高度或考虑使用不同的布局容器。
<StackPanel Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="58"
            Margin="2,0,0,0" Grid.Row="1" VerticalAlignment="Top" Width="100">
   <Image Name="BartenderX1X1Image" Source="/Images/KelnerZTaca.gif" 
          HorizontalAlignment="Left" Height="58" VerticalAlignment="Stretch"
          Width="100"/>
   <Image Name="BartenderX1X2Image" HorizontalAlignment="Left" Height="58" 
          VerticalAlignment="Stretch" Width="100"/>
</StackPanel>