!Wpf を使用しています。1 つのパネルが表示されている場合、2 つのパネルを表示し、他のパネルを非表示にする必要があります。どちらも同じマージンでなければなりません。下の画像は私の質問を詳しく説明します。
ありがとう、アニー
これをコーディングする方法を教えてくれる人はいますか?
私はVSを持っていないので、このようなものにする必要があります
<Button x:Name="ToggleButton" Click="ToggleButton_Click"></Button>
private void ToggleButton_Click(object sender, RoutedEventArgs e)
{
if (Panel1.Visibility == System.Windows.Visibility.Visible)
{
Panel2.Visibility = System.Windows.Visibility.Visible;
Panel1.Visibility = System.Windows.Visibility.Collapsed;
}
else
{
Panel2.Visibility = System.Windows.Visibility.Collapsed;
Panel1.Visibility = System.Windows.Visibility.Visible;
}
}
コードは非常に単純です。
Panel1.Visibility = System.Windows.Visibility.Hidden;
Panel2.Visibility = System.Windows.Visibility.Visible;
これを試してください(MVVMパターンを使用していると仮定します)
両方のスタック パネルの可視性を 2 つのパブリック プロパティ (bool) にバインドします。両方の設定プロパティで、その visibility==true かどうかを確認してから、他のコントロールの表示を false に設定します。
次の可視性コンバーターを使用します
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool bValue = (bool)value;
if (bValue)
return Visibility.Visible;
else
return Visibility.Collapsed;
}
そして、xaml では、このスタック パネルの可視性を次のようにバインドする必要があります。
Visibility="{Binding Panel1Visibility,Converter={StaticResource BoolToVisibilityConverter}}"