Получить индекс RootNodes
Пожалуйста, передайте это дело ответ . Вы можете создать источник данных с возможностью привязки, такой как ответ по делу. И связать свойство IsSelected
для TreeViewItem
. Когда элемент выбран IsSelected
значение будет изменено, так что вы можете обратиться к источнику элементов, а затем получить индекс выбранного элемента.
<TreeViewItem
AutomationProperties.Name="{x:Bind Name}"
IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
IsSelected="{x:Bind IsSelected, Mode=TwoWay}"
ItemsSource="{x:Bind Children}"
>
<StackPanel Orientation="Horizontal">
<Image Width="20" Source="../Assets/folder.png" />
<TextBlock Margin="0,0,10,0" />
<TextBlock Text="{x:Bind Name}" />
</StackPanel>
</TreeViewItem>
Получить индекс
private int GetIndex(ObservableCollection<ExplorerItem> DataSource)
{
int index = 0;
foreach (var item in DataSource)
{
if (item.IsSelected == true)
{
index = DataSource.IndexOf(item);
}
}
return index;
}