當我在VS 2010中創建一個WPF應用程序並在Grid中放置一個按鈕時,我可以從C#代碼訪問該控件。我有與XAML「名稱」字段中的名稱相同的按鈕類實例變量。 但是,當我使用VS 2012 RC創建WPF項目時,我無法看到控件的實例。 有什麼問題? VS 2010和2012之間是否有默認的項目設置差異?爲什麼我的控件無法在代碼隱藏中訪問?
回答
如果您在討論代碼隱藏,那麼您應該可以訪問按鈕而不需要只需使用它的x:name
屬性即可聲明它。現在,如果你正在討論MVVM,那麼你應該在使用按鈕之前設置你的datacontext。
當我使用2012(Release Candidate)時,當我嘗試訪問在xaml中聲明的元素(我必須在沒有它的情況下編寫代碼)時,我沒有得到codebehind cs文件的intellisense,它甚至表示沒有元素該名稱,但項目編譯和工程。所以我建議你嘗試編寫沒有智能感知的代碼並編譯它。
YourButton.IsEnabled = false;
我想這是默認在VS 2012鼓勵使用MVVM,但這只不過是想法。
我在談論代碼隱藏,問題是我無法使用x:name訪問它。我甚至看到沒有創建任何實例。在VS 2010中它工作得很好,但不是在2012年。 – NDeveloper
@NDeveloper看到我的編輯。 –
奇怪...我試過在其他機器上,它的工作....可能有我的其他PC設置的問題 – NDeveloper
您需要確定您沒有以靜態方法訪問該控件。
我有同樣的問題的另一個經驗。
當我嘗試從後面的代碼訪問元素時,沒有顯示它的智能感知,我無法使用它的方法。所以我試圖調試這個項目,發現有一個邏輯上的問題,並且不是一個語法錯誤,所以它不會顯示在XAML代碼或任何地方。我修復了它,然後我可以從後面的代碼訪問它。確保您嘗試訪問的元素被正確定義並且具有邏輯上正確的屬性。
<ComboBox x:Name="_days" Selected="0" Width="50"/>
這是代碼和Selected屬性在邏輯上不正確,因爲沒有在組合框中的元素,你不能選擇第0個元素。
- 1. 無法在代碼隱藏中訪問asp.net changepassword控件
- 2. 無法訪問代碼隱藏頁面中的控件
- 3. 我無法訪問Xamarin中的代碼隱藏Web表單控件
- 4. 爲什麼我無法從ASP.NET代碼隱藏中訪問隱藏輸入字段的值?
- 5. 在designer.cs中定義的ASP控件在C#代碼隱藏中無法訪問
- 6. 無法通過代碼隱藏在用戶控件訪問GridView的事件
- 7. 如何在代碼隱藏中訪問Button.Content中的控件?
- 8. 訪問控件DataList控件HeaderTemplate中從代碼隱藏
- 9. 爲什麼我無法從代碼隱藏
- 10. 在代碼隱藏中訪問datalist的asp.net控件
- 11. 爲什麼我的項目代碼無法訪問我的CocoaPods?
- 12. 爲什麼我的XAML控件不能在代碼隱藏中顯示?
- 13. 訪問無序列表控制ID的代碼隱藏在
- 14. SQL Server 2005在代碼隱藏中訪問FileUpload控件
- 15. 爲什麼我無法訪問我自己的用戶控件?
- 16. ASP.NET sqldatasource ReturnValue在代碼隱藏中無法訪問
- 17. 無法從代碼隱藏中訪問我的類。類是App_Code文件夾
- 18. 從代碼隱藏中訪問GroupStyle的DataTemplate控件
- 19. 我可以訪問DataTemplate代碼隱藏
- 20. 在代碼隱藏中訪問DataContext
- 21. 如何從代碼隱藏中訪問我的ItemPanelTemplate中的命名控件?
- 22. 在代碼隱藏中無法識別XAML控件
- 23. 如何訪問一個Silverlight控件的datacontext的代碼隱藏
- 24. 在WPF我怎麼訪問WrapPanel從代碼隱藏
- 25. 我的代碼有什麼問題!無法使用顯示/隱藏
- 26. 從代碼隱藏ascx.cs文件訪問ascx控件
- 27. 爲什麼我們在asp.net中使用代碼隱藏?
- 28. 從父代碼隱藏的iframe訪問.NET控件
- 29. 爲什麼我無法訪問我的控制器?
- 30. 訪問RadListBox項目在代碼隱藏
那麼如何訪問該實例變量。例如:我想將按鈕IsEnabled屬性設置爲false。 – NDeveloper
是的,超級老,但我有隨機控件的問題,直到我關閉並重新打開解決方案,然後intellisense找到它。 – panhandel