observablecollectionに読み込まれているJSONデータで異常な動作をします。使用状況に応じて文字列が異なるように表示されます
JSONインポートの例と、フォルダパスの表示方法を示します。
{
"projectNumber":"16000",
"projectName":"Sample Project",
"Directory":"@\"C:\\Users\"", }
これまでのところ、私はobservablecollectionにロードした後、期待通りにデータを使用することができました。例えば、メッセージボックスはメッセージボックスに(selectedfolder)を次のように表示します。@ "C:\ Users"
これは、ツリービューに使用するパスです。奇妙なことに、それを使用していない代わりに代わりに私のJSONインポート( "@ \" C:\ Users \ "")から元のパス形式を使用し、 "パスに不正な文字"エラーがスローされます。
private void ListDirectory(TreeView treeView, string path)
{
treeView.Items.Clear();
var rootDirectoryInfo = new DirectoryInfo(path);
treeView.Items.Add(CreateDirectoryNode(rootDirectoryInfo));
}
private static TreeViewItem CreateDirectoryNode(DirectoryInfo directoryInfo)
{
var directoryNode = new TreeViewItem { Header = directoryInfo.Name };
foreach (var directory in directoryInfo.GetDirectories())
directoryNode.Items.Add(CreateDirectoryNode(directory));
foreach (var file in directoryInfo.GetFiles())
directoryNode.Items.Add(new TreeViewItem { Header = file.Name });
return directoryNode;
}
private void button_Click(object sender, RoutedEventArgs e)
{
Project selectedProject = comboBox.SelectedItem as Project;
selectedfolder = selectedProject.Directory.ToString();
MessageBox.Show(selectedfolder);
if (selectedProject != null)
{
this.ListDirectory(treeView, selectedfolder);
}
私がここで紛失しているのを見て、同じ文字列がどのように使用されているのかによって表示されるのはなぜですか?