Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <Window x:Class="TreeViewSelection.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="MainWindow" Height="350" Width="525">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- <RowDefinition Height="*"/>
- </Grid.RowDefinitions>
- <TreeView Name="TV">
- <TreeViewItem Header="Привет-привет"/>
- <TreeViewItem Header="Пока-пока"/>
- <TreeViewItem>
- <TreeViewItem Header="Я очень"/>
- <TreeViewItem Header="буду ждать">
- <TreeViewItem Header="звонка"/>
- </TreeViewItem>
- </TreeViewItem>
- </TreeView>
- <TreeView Name="TV2" Grid.Row="1" ItemsSource="{Binding}">
- <TreeView.ItemTemplate>
- <HierarchicalDataTemplate ItemsSource="{Binding Value}">
- <TextBlock Text="{Binding Key}"/>
- </HierarchicalDataTemplate>
- </TreeView.ItemTemplate>
- </TreeView>
- </Grid>
- </Window>
- public partial class MainWindow : Window
- {
- public MainWindow()
- {
- InitializeComponent();
- DataContext = new[]
- {
- new DataHolder("Привет-привет", null),
- new DataHolder("Пока-пока", null),
- new DataHolder(null,
- new[]
- {
- new DataHolder("Я очень", null),
- new DataHolder("буду ждать",
- new[]
- {
- new DataHolder("звонка", null)
- }),
- }),
- };
- TreeViewItem selectedItemTV = null;
- TV.AddHandler(TreeViewItem.SelectedEvent, (RoutedEventHandler)((sender, args) =>
- selectedItemTV = (TreeViewItem)args.OriginalSource));
- TreeViewItem selectedItemTV2 = null;
- TV2.AddHandler(TreeViewItem.SelectedEvent, (RoutedEventHandler)((sender, args) =>
- selectedItemTV2 = (TreeViewItem)args.OriginalSource));
- var dt = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(5) };
- dt.Tick += (sender, args) =>
- {
- if (selectedItemTV != null)
- {
- selectedItemTV.IsSelected = false;
- selectedItemTV = null;
- }
- if (selectedItemTV2 != null)
- {
- selectedItemTV2.IsSelected = false;
- selectedItemTV2 = null;
- }
- };
- dt.Start();
- }
- }
- public class DataHolder
- {
- public string Key { get; private set; }
- public IEnumerable<DataHolder> Value { get; private set; }
- public DataHolder(string key, IEnumerable<DataHolder> value)
- {
- Key = key;
- Value = value;
- }
- }
- ((TreeViewItem)treeView.SelectedItem).IsSelected = false;
Add Comment
Please, Sign In to add comment