Я использую TreeView от WinrtXamlToolkit. Поведение этого элемента по умолчанию заключается в том, чтобы развернуть вложенные элементы при двойном щелчке заголовка. Код, отвечающий за это, находится здесь (TreeViewItem.cs line 1205).WinrtXamlToolkit TreeView развернуть с одним вместо двойного щелчка
private void OnHeaderMouseLeftButtonDown(object sender, PointerRoutedEventArgs e)
{
if (Interaction.AllowMouseLeftButtonDown(e))
{
// If the event hasn't already been handled and this item is
// focusable, then focus (and possibly expand if it was double
// clicked)
if (!e.Handled && IsEnabled)
{
if (Focus(FocusState.Programmatic))
{
e.Handled = true;
}
// Expand the item when double clicked
if (Interaction.ClickCount % 2 == 0)
{
bool opened = !IsExpanded;
UserInitiatedExpansion |= opened;
IsExpanded = opened;
e.Handled = true;
}
}
Interaction.OnMouseLeftButtonDownBase();
OnPointerPressed(e);
}
}
Есть ли способ, чтобы изменить это поведение, чтобы расширить пункты одним щелчком мыши или нажмите без фактического копирования контроля, и все это связано классы моего проекта?
Кажется, что это слишком много, чтобы изменить несколько строк кода.
Это сообразительная идея. Я попробую. – Corcus