-5

!Wpf を使用しています。1 つのパネルが表示されている場合、2 つのパネルを表示し、他のパネルを非表示にする必要があります。どちらも同じマージンでなければなりません。下の画像は私の質問を詳しく説明します。

ここに画像の説明を入力

ありがとう、アニー

これをコーディングする方法を教えてくれる人はいますか?

4

6 に答える 6

1

私は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;
            }
        }
于 2013-08-01T11:56:16.050 に答える
0

コードは非常に単純です。

Panel1.Visibility = System.Windows.Visibility.Hidden;
Panel2.Visibility = System.Windows.Visibility.Visible;
于 2013-08-01T11:50:25.763 に答える
0

これを試してください(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}}"
于 2013-08-01T11:52:28.037 に答える