Files
aistudio-wpf-diagram/Others/Fluent.Ribbon/Fluent.Ribbon/TemplateSelectors/RibbonGroupBoxHeaderTemplateSelector.cs
2023-04-16 20:11:40 +08:00

29 lines
1.1 KiB
C#

namespace Fluent.TemplateSelectors
{
using System.Windows;
using System.Windows.Controls;
/// <summary>
/// <see cref="DataTemplateSelector"/> for the header of <see cref="RibbonGroupBox"/>.
/// </summary>
public class RibbonGroupBoxHeaderTemplateSelector : DataTemplateSelector
{
/// <summary>
/// Gets a static instance of <see cref="RibbonGroupBoxHeaderTemplateSelector"/>.
/// </summary>
public static readonly RibbonGroupBoxHeaderTemplateSelector Instance = new RibbonGroupBoxHeaderTemplateSelector();
/// <inheritdoc />
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
var element = (FrameworkElement)container;
if (RibbonGroupBox.GetIsCollapsedHeaderContentPresenter(element))
{
return (DataTemplate)element.FindResource("Fluent.Ribbon.Templates.RibbonGroupBox.TwoLineHeaderTemplate");
}
return (DataTemplate)element.FindResource("Fluent.Ribbon.Templates.RibbonGroupBox.OneLineHeaderTemplate");
}
}
}