Добрый вечер! Перевожу своё виндоус форм приложение под WPF, конкретно сейчас справку. При выборе элемента слева в TreeView, в правом текст боксе открывается справочный файл. Всё просто. Вот Windows Forms код: | Код | private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { string fileName = e.Node.Text; var tn = e.Node; while (tn.Parent != null) { fileName = tn.Parent.Text+"\\"+fileName; tn = tn.Parent; } string fileContents = null; if (File.Exists(fileName)) { try { fileContents = File.ReadAllText(fileName); textBox1.Text = fileContents; } //return false if problem opening file catch (Exception) { MessageBox.Show("Help files missing"); } } }
|
Теперь я столкнулся с проблемой RoutingStrategies в WPF. Я не хочу, чтобы моё событие не вызывало себя же для верхних узлов. Хотелось бы поменять RoutingStrategy в Direct, но судя по всему это невозможно. Пытался ставить e.Handled в true. Тоже не выходит. И мне не понятно, как переписать подобную штуку: | Код | while (tn.Parent != null) { fileName = tn.Parent.Text+"\\"+fileName; tn = tn.Parent; }
|
|