Mục tiêu của tôi là chỉ có một AppBar có sẵn trong một tình huống nhất định. Tôi đang cố gắng thực hiện điều này bằng cách tạo một AppBar, nhưng để nó bị vô hiệu hóa cho đến khi hoàn cảnh đó phát sinh. Tuy nhiên, nếu bạn đặt thuộc tính IsEnabled
trên AppBar thành False
, khi bạn khởi chạy ứng dụng và nhấp chuột phải (thường mở AppBar), ứng dụng sẽ gặp sự cố. Đây có phải là một lỗi trong khuôn khổ? Cách thích hợp để vô hiệu hóa một AppBar là gì?Làm thế nào để vô hiệu hóa Windows 8/WinRT AppBar?
CHỈNH SỬA: Nó cũng xảy ra khi bạn đặt Visibility
thành Collapsed
.
Thông tin thêm: Tôi đang chạy nó thông qua trình gỡ lỗi Visual Studio, nhưng một cửa sổ "Visual Studio Just-In-Time Debugger" riêng biệt xuất hiện với thông báo "Ngoại lệ win32 chưa được giải quyết xảy ra trong App.exe [2596] . " Một hộp cảnh báo bật lên trên đầu trang mà nói rằng "Một trình gỡ rối được gắn vào App.exe nhưng không được cấu hình để gỡ lỗi ngoại lệ chưa được giải quyết này. Để gỡ lỗi ngoại lệ này, hãy tháo trình gỡ lỗi hiện tại."
CHỈNH SỬA 2: Đó không chỉ là mã của tôi. Nó cũng bị treo nếu bạn chỉ cần thêm IsEnabled="False"
vào AppBar trong dự án AppBarControl mẫu của Microsoft (được tìm thấy tại đây: http://code.msdn.microsoft.com/windowsapps/XAML-AppBar-control-sample-2aa1cbb4)
EDIT 3: @G. Andrew Duthie - devhammer cung cấp câu trả lời tôi đang sử dụng. Tôi chỉ muốn thêm rằng tôi thấy rằng tốt nhất là sử dụng this.BottomAppBar = null
để vô hiệu hóa nó như trái ngược với thiết lập thuộc tính IsEnabled
hoặc Visibility
. Nếu bạn chỉ cần đặt Visibility
thành Collapsed
, thì khi bạn nhấp chuột phải, ứng dụng vẫn cho rằng một AppBar có mặt mặc dù nó không hiển thị, vì vậy nhấp chuột thông thường tiếp theo của bạn sẽ được hiểu là nhấp chuột thường loại bỏ AppBar. sẽ phải nhấp vào lần thứ hai để thực sự thực hiện hành động mà bạn đang cố gắng thực hiện.
"Sự cố ứng dụng" có nghĩa là gì? Nó có gặp sự cố trong khung công tác không? Trong mã của bạn? Bạn có một callstack? Là một ngoại lệ ném? Ngoại lệ (và thông điệp) là gì? –
Tôi nghĩ rằng nó đang gặp sự cố trong khung công tác. Tôi đang chạy nó thông qua trình gỡ lỗi Visual Studio, nhưng một cửa sổ "Visual Studio Just-In-Time Debugger" riêng biệt xuất hiện với thông báo "Một ngoại lệ win32 chưa được giải quyết xảy ra trong App.exe [2596]." Một hộp cảnh báo bật lên trên đầu trang mà nói rằng "Một trình gỡ rối được gắn vào App.exe nhưng không được cấu hình để gỡ lỗi ngoại lệ chưa được giải quyết này. Để gỡ lỗi ngoại lệ này, hãy tháo trình gỡ lỗi hiện tại." – jokeefe
Tôi nghĩ chúng ta cần thêm ngữ cảnh để phát hiện vấn đề. Bạn có thể đăng xBl AppBar của bạn không? – mydogisbox