XAMLには4つの画像があります。
<Image Visibility="Collapsed" Name="LeftArrow" Height="20" Width="20"></Image>
<Image Visibility="Collapsed" Name="RightArrow" Height="20" Width="20"></Image>
<Image Visibility="Collapsed" Name="TopArrow" Height="20" Width="20"></Image>
<Image Visibility="Collapsed" Name="BottomArrow" Height="20" Width="20"></Image>
そして私のコードビハインドでは、他のすべての画像の1つが次のように表示されたときに、他のすべての画像を折りたたむスイッチケースがあります。
switch (ElementInfoCollection[pos].ArrowDirection)
{
case ArrowDirection.Left:
LeftArrow.Visibility = Visibility.Visible;
RightArrow.Visibility = Visibility.Collapsed;
TopArrow.Visibility = Visibility.Collapsed;
BottomArrow.Visibility = Visibility.Collapsed;
break;
case ArrowDirection.Right:
LeftArrow.Visibility = Visibility.Collapsed;
RightArrow.Visibility = Visibility.Visible;
TopArrow.Visibility = Visibility.Collapsed;
BottomArrow.Visibility = Visibility.Collapsed;
break;
case ArrowDirection.Top:
LeftArrow.Visibility = Visibility.Collapsed;
RightArrow.Visibility = Visibility.Collapsed;
TopArrow.Visibility = Visibility.Visible;
BottomArrow.Visibility = Visibility.Collapsed;
break;
case ArrowDirection.Bottom:
LeftArrow.Visibility = Visibility.Collapsed;
RightArrow.Visibility = Visibility.Collapsed;
TopArrow.Visibility = Visibility.Collapsed;
BottomArrow.Visibility = Visibility.Visible;
break;
default:
LeftArrow.Visibility = Visibility.Collapsed;
RightArrow.Visibility = Visibility.Collapsed;
TopArrow.Visibility = Visibility.Collapsed;
BottomArrow.Visibility = Visibility.Collapsed;
break;
}
明らかに、これは非常に馬鹿げた方法なので、画像の1つが分離コードで表示されるように設定されている場合に、画像を折りたたむ方法を知りたいですか?これは私がこれまでに思いついたものです:
<UserControl.Resources>
<Style x:Key="ArrowSwitch" TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger >
<Setter Property="Image.Visibility" Value="Collapsed"></Setter>
</DataTrigger>
<DataTrigger>
<Setter Property="Image.Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Resources>