我正在创建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