0

一般的なメディア プレーヤーのように、クリックするだけで表示または非表示にできる eq またはトラックリスト パネルを備えた効果を実現したいと考えています。メイン ウィンドウは、表示されたコンテンツに合わせて自動的にサイズ変更されます。サイズを手動で指定する必要があるのか​​ 、それとももっと明確な解決策があるのだろうか。

<Window x:Class="WpfApplicationAnimation.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="Auto" Width="Auto" SizeToContent="WidthAndHeight">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Label Margin="5" Grid.Column="0" Grid.Row="0">Value 1:</Label>
    <Label Margin="5" Grid.Column="0" Grid.Row="1">Value 2:</Label>
    <Label Margin="5" Grid.Column="0" Grid.Row="2">Value 3:</Label>
    <Button Margin="5" Click="Button_Click_1" Grid.Column="0" Grid.Row="3" Visibility="Hidden">Hello</Button>
    <TextBox Name="txt1" Margin="5" Grid.Column="1" Grid.Row="0" MinWidth="100" />
    <TextBox Margin="5" Grid.Column="1" Grid.Row="1" MinWidth="100" />
    <TextBox Margin="5" Grid.Column="1" Grid.Row="2" MinWidth="100" />        
</Grid>

SizeToContent="WidthAndHeight" を設定してみましたが、ボタンのコンテンツが表示されていても必要なスペースが必要です。

4

1 に答える 1

0

同じ効果は得られませんが、エキスパンダーを使用することもできます。問題はウィンドウの透明度です (そのため、Winamp のようにそれを取り除くことができますが、メモリ リークが発生します)。しかし、エキスパンダーは、それを自動的に有効にする唯一のコントロールです。確かに、いつでも手動で配置およびサイズ変更できますが、それは回避しようとしていることです。

于 2012-09-05T13:59:00.307 に答える