Что нового в 2021 г. Том 1: WPF TreeView

Элемент управления Syncfusion WPF TreeView отображает иерархические данные в виде древовидной структуры с параметрами развертывания и свертывания узла. Его богатый набор функций включает привязку данных, несвязанное заполнение узлов, селектор шаблонов, перетаскивание, выбор с различными режимами выбора, полную настройку пользовательского интерфейса, команды для MVVM и многое другое. Мы добавили следующие новые удобные функции в WPF TreeView в нашем выпуске 2021 Volume 1:

  • Отменить редактирование нажатием клавиши Esc.
  • Войдите в режим редактирования одним касанием.
  • Разверните или сверните узлы на основе свойства в базовом объекте данных.

Отменить редактирование по нажатию клавиши Esc

Как правило, пользователи ожидают откатить отредактированные изменения в узле, нажав клавишу Esc. Теперь WPF TreeView обеспечивает поддержку возврата отредактированного текста путем реализации интерфейса IEditableObject для базового объекта.

Пользователь должен создать резервную копию существующих данных в узле с помощью метода BeginEdit. Затем резервные данные необходимо восстановить в методе CancelEdit для отката изменений.

См. следующий пример кода.

public class Country : INotifyPropertyChanged, IEditableObject
{
private bool isSelected;
internal string name;
private ObservableCollection<State> states;
internal Country backUpData;
private Country currentData;
public Country()
{
}
public Country(string name):base()
{
this.currentData = new Country();
this.currentData.name = name;
this.currentData.isSelected = false;
}
public ObservableCollection<State> States
{
get
{
return states;
}
set
{
states = value;
RaisedOnPropertyChanged("States");
}
}
public string Name
{
get
{
return this.currentData.name;
}
set
{
this.currentData.name = value;
RaisedOnPropertyChanged("Name");
}
}
public bool IsSelected
{
get
{
return this.currentData.isSelected;
}
set
{
this.currentData.isSelected = value;
RaisedOnPropertyChanged("IsSelected");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void RaisedOnPropertyChanged(string _PropertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(_PropertyName));
}
}
public void BeginEdit()
{
Debug.WriteLine("BeginEdit is Called.");
backUpData = new Country();
backUpData.name = this.currentData.name;
backUpData.isSelected = this.currentData.isSelected;
}
public void CancelEdit()
{
Debug.WriteLine("CancelEdit is Called.");
this.currentData = backUpData;
}
public void EndEdit()
{
Debug.WriteLine("EndEdit is Called.");
}
}

Вход в режим редактирования одним нажатием

По умолчанию узлы WPF TreeView переходят в режим редактирования при нажатии клавиши F2. Теперь пользователи могут редактировать узлы, нажимая или дважды нажимая на них в зависимости от настроек EditTrigger.

См. следующий пример кода.

<syncfusion:SfTreeView x:Name="sfTreeView"
ItemsSource="{Binding Countries}"
AllowEditing="True"
EditTrigger="DoubleTap"/>

Развернуть или свернуть узлы в зависимости от свойства

Теперь вы можете управлять состоянием развертывания и свертывания узлов WPF Treeview во время начальной загрузки и во время выполнения. Это можно сделать, установив имя свойства, которое содержит состояние раскрытия в базовом объекте данных, через свойство IsExpandedPropertyName.

См. следующий пример кода.

xmlns:treeviewengine="clr-namespace:Syncfusion.UI.Xaml.TreeView.Engine;assembly=Syncfusion.SfTreeView.WPF"
<syncfusion:SfTreeView x:Name="treeView"
ItemsSource="{Binding Folders}">
<syncfusion:SfTreeView.HierarchyPropertyDescriptors>
<treeviewengine:HierarchyPropertyDescriptor IsExpandedPropertyName="IsExpanded" ChildPropertyName="Cities" TargetType="{x:Type local:State}" />
</syncfusion:SfTreeView.HierarchyPropertyDescriptors>
</syncfusion:SfTreeView>

Вывод

Спасибо за чтение! Надеюсь, теперь у вас есть четкое представление о новых функциях, включенных в элемент управления Syncfusion WPF TreeView в выпуске 2021 Volume 1. Дополнительные сведения об этом и других элементах управления см. в наших Примечаниях к выпуску и Что нового.

Просмотрите нашу документацию WPF, чтобы узнать больше о наших элементах управления WPF. Также не пропустите наши Примеры проектов WPF.

Если вы еще не являетесь нашим клиентом, вы можете попробовать нашу 30-дневную бесплатную пробную версию, чтобы проверить эти функции.

Кроме того, если вы хотите отправить нам отзыв или задать какие-либо вопросы, пожалуйста, не стесняйтесь публиковать их в разделе комментариев этого сообщения в блоге. Вы также можете связаться с нами через наши форумы поддержки, портал обратной связи или систему поддержки Direct-Trac. Мы всегда рады Вам помочь!

Если вам понравилась эта запись в блоге, мы думаем, вам также понравятся следующие статьи:

Первоначально опубликовано на https://www.syncfusion.com 12 апреля 2021 г.