Melakukan debug atau menonaktifkan kode proyek di XAML Designer
Dalam banyak kasus, pengecualian yang tidak tertangani di XAML Designer dapat disebabkan oleh kode proyek yang mencoba mengakses properti atau metode yang mengembalikan nilai yang berbeda atau bekerja dengan cara yang berbeda ketika aplikasi Anda berjalan di perancang. Anda dapat mengatasi pengecualian tersebut dengan melakukan penelusuran kesalahan kode proyek dalam instans lain Visual Studio, atau mencegah pengecualian sementara dengan menonaktifkan kode proyek di perancang.
Kode proyek mencakup:
Kontrol kustom dan kontrol pengguna
Pustaka kelas
Pengonversi nilai
Pengikatan terhadap data waktu desain yang dihasilkan dari kode proyek
Ketika kode proyek dinonaktifkan, Visual Studio menampilkan tempat penampung. Contohnya, Visual Studio memperlihatkan nama properti untuk pengikatan tempat data tidak lagi tersedia, atau tempat penampung untuk kontrol yang tidak lagi berjalan.
Untuk menentukan apakah kode proyek menyebabkan pengecualian
Dalam dialog pengecualian yang tidak tertangani, pilih link Klik di sini untuk memuat ulang perancang.
Pada bilah menu, pilih Debug>Mulai Penelusuran Kesalahan untuk membangun dan menjalankan aplikasi.
Jika aplikasi berhasil membangun dan menjalankan, pengecualian waktu desain dapat disebabkan oleh kode proyek Anda yang berjalan di perancang.
Untuk melakukan debug kode proyek yang berjalan di perancang
Dalam dialog pengecualian yang tidak tertangani, pilih link Klik di sini untuk menonaktifkan kode proyek yang berjalan dan memuat ulang perancang.
Di Windows Task Manager, pilih tombol Akhiri Tugas untuk menutup instans Visual Studio XAML Designer yang sedang berjalan.
Di Visual Studio, buka halaman XAML yang memuat kode atau kontrol yang ingin Anda lakukan debug.
Buka instans baru Visual Studio, lalu buka instans kedua proyek Anda.
Atur titik henti dalam kode proyek Anda.
Di instans baru Visual Studio, pada bilah menu, pilih Debug>Lampirkan ke Proses.
Dalam dialog Lampirkan ke Proses, di daftar Proses yang Tersedia, pilih proses yang cocok dengan versi Visual Studio yang Anda gunakan dan platform yang sedang dikembangkan (lihat tabel berikut), lalu pilih tombol Lampirkan.
Versi Visual Studio Platform Nama proses 2017–2022 Aplikasi UWP UwpSurface.exe 2017–2022 Aplikasi WPF Core WpfSurface.exe Hanya 2019 Kerangka Kerja WPF xDesProc.exe Hanya 2022 Kerangka Kerja WPF WpfSurface.exe Penting
Pada Visual Studio 2019, WpfSurface.exe jika Perancang XAML WPF Baru diaktifkan di Fitur Pratinjau>Lingkungan>Opsi>Alat.
Dalam instans pertama Visual Studio, pada bilah menu, pilih Debug>Mulai Penelusuran Kesalahan.
Anda sekarang dapat melangkah ke kode Anda yang berjalan di perancang.
Untuk menonaktifkan kode proyek di perancang
Dalam dialog pengecualian yang tidak tertangani, pilih link Klik di sini untuk menonaktifkan kode proyek yang berjalan dan memuat ulang perancang.
Atau, pada toolbar di perancang XAML, pilih tombol Nonaktifkan kode proyek.
Anda dapat mengalihkan tombol lagi untuk mengaktifkan kembali kode proyek.
Catatan
Untuk proyek yang menargetkan prosesor ARM atau X64, Visual Studio tidak dapat menjalankan kode proyek di perancang, sehingga tombol Nonaktifkan kode proyek dinonaktifkan di perancang.
Salah satu opsi menyebabkan perancang memuat ulang lalu menonaktifkan semua kode untuk proyek terkait.
Catatan
Menonaktifkan kode proyek dapat menyebabkan hilangnya data waktu desain. Alternatifnya adalah melakukan debug kode yang berjalan di perancang.
Opsi tampilan kontrol
Catatan
Opsi Tampilan Kontrol hanya tersedia untuk aplikasi Universal Windows Platform yang menargetkan Windows 10 Fall Creators Update (build 16299) atau yang lebih baru. Fitur Opsi Tampilan Kontrol tersedia di Visual Studio 2017 versi 15.9 atau yang lebih baru.
Di perancang XAML, Anda dapat mengubah opsi tampilan kontrol hanya untuk menampilkan kontrol platform dari SDK Windows. Opsi ini dapat meningkatkan keandalan perancang XAML.
Untuk mengubah opsi tampilan kontrol, klik ikon di kiri bawah jendela perancang, lalu pilih opsi di bawah Opsi Tampilan Kontrol:
Ketika Anda memilih Hanya Tampilkan Kontrol Platform, semua kontrol kustom yang berasal dari SDK, kontrol pengguna pelanggan, dan lainnya, tidak akan dirender sepenuhnya. Sebaliknya, kontrol-kontrol tersebut digantikan oleh kontrol fallback untuk menunjukkan ukuran dan posisi kontrol.