在XAML檔案中遇到<Window>下定義的clr-namespace顯示不存在。
本文講解如何解決clr-namespace顯示不存在的問題。
WPF開發過程有時會遇到新增一個class後,原先的XAML抓取window的命名空間會出現顯示不存在的問題。
在Window中定義的命名空間
1 |
xmlns:local="clr-namespace:MyProject" |
新增class(這邊例子是要做控件的資料綁定)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
namespace MyProject { public class MyDataContext { private double _myValue; public double MyValue { get => _myValue; set { _myValue = value; } } } } |
例子是在<Window.DataContext>中出現找不到該namespace
1 2 3 |
<Window.DataContext> <local: MyDataContext /> </Window.DataContext> |
解決方式如下:
- 在解決方案資源管理器右鍵 -> 選擇『清除方案』
- 關閉Visual Studio
- 刪除『ShadowCache』資料夾
(資料夾路徑:%localappdata%\Microsoft\VisualStudio\[your version]\Designer\ShadowCache - 重新打開專案
- 解決方案資源管理器右鍵 -> 選擇『重建方案』
如此一來應可消除命名空間錯誤的問題。
留言