C# 在矩形中组合图像,若我隐藏矩形,图像也应该隐藏

C# 在矩形中组合图像,若我隐藏矩形,图像也应该隐藏,c#,.net,wpf,xaml,layout,C#,.net,Wpf,Xaml,Layout,我用了一个矩形,把情感图像放进去,我想做的是,如果我把矩形隐藏起来,里面的情感图像应该隐藏起来。 我附加了一个帮助它的图像。 请让我知道我应该使用哪个属性来获取此信息,在Windows窗体中,如果我们使用面板,这可以自动完成。但在WPF C#中,这并不是自动完成的 这是密码 <Rectangle Grid.ColumnSpan="2" Height="71" HorizontalAlignment="Left" Margin="226,262,0,0" Name="rectangle2"

我用了一个矩形,把情感图像放进去,我想做的是,如果我把矩形隐藏起来,里面的情感图像应该隐藏起来。 我附加了一个帮助它的图像。

请让我知道我应该使用哪个属性来获取此信息,在Windows窗体中,如果我们使用面板,这可以自动完成。但在WPF C#中,这并不是自动完成的

这是密码

<Rectangle Grid.ColumnSpan="2" Height="71" HorizontalAlignment="Left" Margin="226,262,0,0" Name="rectangle2" Stroke="Black" VerticalAlignment="Top" Width="192" Fill="#B5101010" Visibility="Hidden" />
<Image Height="27"  HorizontalAlignment="Left" Margin="229,266,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="28" Source="/WPFTEST;component/Images/emo/emotion_evilgrin.png" MouseUp="image1_MouseUp_1" Visibility="Hidden" />
<Image Height="27" HorizontalAlignment="Left" Margin="264,266,0,0" Name="image2" Source="/WPFTEST;component/Images/emo/emotion_grin.png" Stretch="Fill" VerticalAlignment="Top" Width="28" MouseUp="image2_MouseUp" Visibility="Hidden" />
<Image Height="27" HorizontalAlignment="Left" Margin="34,299,0,0" Name="image4" Source="/WPFTEST;component/Images/emo/emotion_tongue.png" Stretch="Fill" VerticalAlignment="Top" Width="28" Grid.Column="1" MouseUp="image4_MouseUp" Visibility="Hidden" />
<Image Height="27" HorizontalAlignment="Left" Margin="68,266,0,0" Name="image5" Source="/WPFTEST;component/Images/emo/emotion_suprised.png" Stretch="Fill" VerticalAlignment="Top" Width="28" Grid.Column="1" MouseUp="image5_MouseUp" Visibility="Hidden" />
<Image Height="27" HorizontalAlignment="Left" Margin="34,266,0,0" Name="image6" Source="/WPFTEST;component/Images/emo/emotion_smile.png" Stretch="Fill" VerticalAlignment="Top" Width="28" Grid.Column="1" MouseUp="image6_MouseUp" Visibility="Hidden" />
<Image Height="27" HorizontalAlignment="Left" Margin="0,266,0,0" Name="image7" Source="/WPFTEST;component/Images/emo/emotion_happy.png" Stretch="Fill" VerticalAlignment="Top" Width="28" Grid.Column="1" MouseUp="image7_MouseUp" Visibility="Hidden" />
<Image Height="27" HorizontalAlignment="Left" Margin="0,299,0,0" Name="image8" Source="/WPFTEST;component/Images/emo/emotion_wink.png" Stretch="Fill" VerticalAlignment="Top" Width="28" Grid.Column="1" MouseUp="image8_MouseUp" Visibility="Hidden" />
<Image Height="27" HorizontalAlignment="Left" Margin="230,299,0,0" Name="image9" Source="/WPFTEST;component/Images/emo/emotion_unhappy.png" Stretch="Fill" VerticalAlignment="Top" Width="28" MouseUp="image9_MouseUp" Visibility="Hidden" />
<Image Height="27" HorizontalAlignment="Left" Margin="265,299,0,0" Name="image10" Source="/WPFTEST;component/Images/emo/emotion_waii.png" Stretch="Fill" VerticalAlignment="Top" Width="28" MouseUp="image10_MouseUp" Visibility="Hidden" />

我知道它不在矩形标记下,但如果我在矩形标记下添加图像,则会导致错误

谢谢
Atif

如果这些图标是“矩形”的一部分,而“矩形”应该是某种类型的“或”面板,则如果父容器被隐藏(=),图标将隐藏

编辑:图像不是矩形的一部分,它们只是使用可怕的边距滥用代码放置在顶部


矩形和图标之间没有关系。正如我所说,图标需要作为容器的子对象添加。(例如,使用as)如果图标不是所属容器的一部分,winforms当然也不会隐藏这些图标。

如果您希望保持代码不变,并且不必更改这些边距,则只需将图标的可见性属性绑定到矩形的可见性属性即可


Visibility=“{Binding Visibility,ElementName=rectangle2}”

我再次编辑了我的问题。我可以从几英里之外看出,这段代码是由一位被抛弃的GUI设计师生成的,冗余和不可读取性令人震惊。