我想为我的第一个项目构建一个笔记应用程序。到目前为止,我已经创建了一个文件并将其放入树状视图中。现在,我希望能够从树状视图中选择文件,然后在文本框中打开它。我似乎找不到选择文件的方法。
这是我的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;
}
}
}
我还注意到,人们使用不同类型的树形样式或方法,就像有些人在使用项目,子项或节点。我想它们是一样的,对吧?
非常感谢。
您的问题在这一行:
string fileName = FolderView.SelectedValuePath;
这里是SelectedValuePath
上的文档,当您尝试获取实际选择的值时,它不是您所使用的。
根据您的代码猜测,看起来SelectedValuePath
中的每个项目都只是一个TreeView
,因此请尝试以下代码:
string