2025-09-04 22:39:00 +08:00
|
|
|
|
using System.Windows;
|
|
|
|
|
|
using System.Windows.Controls;
|
|
|
|
|
|
|
2026-01-02 17:30:30 +08:00
|
|
|
|
namespace VariaStudio.Controls
|
2025-09-04 22:39:00 +08:00
|
|
|
|
{
|
2025-10-04 08:52:23 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// AccordionItem 类表示一个可以展开和折叠的项,通常用于 Accordion 控件中。
|
|
|
|
|
|
/// 继承自 HeaderedContentControl,允许设置标题和内容。
|
|
|
|
|
|
/// </summary>
|
2025-09-04 22:39:00 +08:00
|
|
|
|
public class AccordionItem : HeaderedContentControl
|
|
|
|
|
|
{
|
|
|
|
|
|
static AccordionItem()
|
|
|
|
|
|
{
|
|
|
|
|
|
DefaultStyleKeyProperty.OverrideMetadata(typeof(AccordionItem), new FrameworkPropertyMetadata(typeof(AccordionItem)));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-10-04 08:52:23 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 表示AccordionItem是否处于展开状态的依赖属性。
|
|
|
|
|
|
/// 该属性用于绑定和样式设置,以便在XAML中控制AccordionItem的展开或折叠状态。
|
|
|
|
|
|
/// </summary>
|
2025-09-04 22:39:00 +08:00
|
|
|
|
public static readonly DependencyProperty IsExpandedProperty =
|
2025-10-04 08:52:23 +08:00
|
|
|
|
DependencyProperty.Register(nameof(IsExpanded), typeof(bool), typeof(AccordionItem), new PropertyMetadata(false));
|
2025-09-04 22:39:00 +08:00
|
|
|
|
|
2025-10-04 08:52:23 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 获取或设置一个值,表示当前的AccordionItem是否处于展开状态。
|
|
|
|
|
|
/// 当此属性为true时,表示AccordionItem是展开的;如果为false,则表示AccordionItem是折叠的。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <value>类型为bool。默认值为false。</value>
|
2025-09-04 22:39:00 +08:00
|
|
|
|
public bool IsExpanded
|
|
|
|
|
|
{
|
2025-10-04 08:52:23 +08:00
|
|
|
|
get => (bool)GetValue(IsExpandedProperty);
|
|
|
|
|
|
set => SetValue(IsExpandedProperty, value);
|
2025-09-04 22:39:00 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|