如何从Treeview WPF中选择和读取txt文件

问题描述 投票:0回答:1

我想为我的第一个项目构建一个笔记应用程序。到目前为止,我已经创建了一个文件并将其放入树状视图中。现在,我希望能够从树状视图中选择文件,然后在文本框中打开它。我似乎找不到选择文件的方法。

这是我的treeView,我尝试使用SelecetedItemChanged

                <Style TargetType="{x:Type TreeViewItem}">
                    <Setter Property="HeaderTemplate">
                        <Setter.Value>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <Image Width="10" Margin="3" Source="images/drive.png"/>
                                    <TextBlock VerticalAlignment="Center" Text="{Binding}"/>
                                </StackPanel>
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>

            </TreeView.Resources>
        </TreeView>

这是我的C#代码

private void FolderView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            // get selected item path

            string fileName = FolderView.SelectedValuePath;

            using (StreamReader sr = File.OpenText(fileName))
            {
                string s = "";
                while ((s = sr.ReadLine()) != null)
                {
                    noteText.Text = s;
                }
            }
        }

我还注意到,人们使用不同类型的树形样式或方法,就像有些人在使用项目,子项或节点。我想它们是一样的,对吧?

非常感谢。

c# wpf treeview selecteditem
1个回答
0
投票

您的问题在这一行:

string fileName = FolderView.SelectedValuePath;

这里是SelectedValuePath上的文档,当您尝试获取实际选择的值时,它不是您所使用的。

根据您的代码猜测,看起来SelectedValuePath中的每个项目都只是一个TreeView,因此请尝试以下代码:

string
© www.soinside.com 2019 - 2024. All rights reserved.