我正在創建Windows應用程序(WPF)和C#。在我看來,我不得不添加一些佈局,如瀏覽文件夾,在列表視圖中顯示文件夾中的文件...等如何在WPF中創建可摺疊面板
我的要求是: 上面提到的面板應該是可摺疊面板,我們沒有wpf中可摺疊面板的選項。
我必須爲此創建一個自定義控件?如果是這樣,請告訴我如何做到這一點?
我正在創建Windows應用程序(WPF)和C#。在我看來,我不得不添加一些佈局,如瀏覽文件夾,在列表視圖中顯示文件夾中的文件...等如何在WPF中創建可摺疊面板
我的要求是: 上面提到的面板應該是可摺疊面板,我們沒有wpf中可摺疊面板的選項。
我必須爲此創建一個自定義控件?如果是這樣,請告訴我如何做到這一點?
可能會喜歡嗎?
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<Border Background="Red" Height="12" VerticalAlignment="Top" MouseEnter="StackPanel_MouseEnter" MouseLeave="StackPanel_MouseLeave"></Border>
</Grid>
C#代碼背後
private void StackPanel_MouseEnter(object sender, MouseEventArgs e)
{
Border sp = sender as Border;
DoubleAnimation db = new DoubleAnimation();
//db.From = 12;
db.To = 150;
db.Duration = TimeSpan.FromSeconds(0.5);
db.AutoReverse = false;
db.RepeatBehavior = new RepeatBehavior(1);
sp.BeginAnimation(StackPanel.HeightProperty, db);
}
private void StackPanel_MouseLeave(object sender, MouseEventArgs e)
{
Border sp = sender as Border;
DoubleAnimation db = new DoubleAnimation();
//db.From = 12;
db.To = 12;
db.Duration = TimeSpan.FromSeconds(0.5);
db.AutoReverse = false;
db.RepeatBehavior = new RepeatBehavior(1);
sp.BeginAnimation(StackPanel.HeightProperty, db);
}
}
你可以使用任何元素控制像格,堆棧,碼頭,邊境...
如何使用VisualStateManager的例子? – avantprime 2014-07-16 07:33:52
這太棒了!簡單,有效..謝謝! – 2014-09-18 16:49:36
Vaccano,不好的形式。 – Kilhoffer 2010-01-22 17:36:24
@Vaccano:答案已被接受,您現在應該刪除您的downvote – 2012-09-11 09:19:23