我有一個文件菜單,在加載時,一些menuItems
從目錄中的文件名填充。WPF動態菜單項創建錯誤
<MenuItem
x:Name="LayoutLoad"
Header="Load saved layout"
HorizontalAlignment="Left"
Width="200"
/>
//負載(代碼後面)
string[] filePaths = Directory.GetFiles("Settings/layouts");
for (int i = 0; i < filePaths.Count(); i++)
{
MenuItem item = new MenuItem {
Header = System.IO.Path.GetFileName(filePaths[i]),
Name = System.IO.Path.GetFileName(filePaths[i])
};
item.Click += new RoutedEventHandler(Chooselayout);
LayoutLoad.Items.Add(item);
}
這是偉大的工作,直到剛纔,而現在它不會編譯,拍擊:
MenuItem item = new MenuItem {
Header = System.IO.Path.GetFileName(filePaths[i]),
Name = System.IO.Path.GetFileName(filePaths[i])
};
與:
Exception thrown: 'System.Windows.Markup.XamlParseException' in PresentationFramework.dll
Additional information: The invocation of the constructor on type 'Form_beta.MainWindow' that matches the specified binding constraints threw an exception.
如果我註釋掉代碼和代表蕾絲是:
string test = System.IO.Path.GetFileName(filePaths[i]);
它工作正常,並返回我期望的文件路徑。
這裏出了什麼問題?謝謝。
啊,謝謝。目錄中有一個文件,名稱中有一個空格,該文件不能用作menuItem的標題。 – anti