Что нового в 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. Мы всегда рады Вам помочь!
Если вам понравилась эта запись в блоге, мы думаем, вам также понравятся следующие статьи:
- Что нового в 2021 году, том 1: WPF [Блог]
- 3 шага к ленивой загрузке данных в WPF TreeView в шаблоне MVVM [Блог]
- Кратко об отладке и производительности WPF [Электронная книга]
- Кратко о WPF [Электронная книга]
Первоначально опубликовано на https://www.syncfusion.com 12 апреля 2021 г.