Tôi đang làm việc trên dự án WPF VS 2012 Express (C# code-behind) và tôi nhận được lỗi "Vòng lặp được phát hiện trong biểu thức thuộc tính". Bây giờ trước khi tôi tiếp tục, tôi biết tại sao tôi nhận được nó - Tôi chỉ không chắc chắn phải làm gì về nó hoặc thậm chí nó cần phải được xử lý bởi vì mặc dù nó xuất hiện trong danh sách lỗi và được gạch dưới màu xanh, chương trình biên dịch và chạy tốt. Tôi đã Googled này tất nhiên và kết quả đã thay đổi. Câu hỏi của tôi là một parter hai nhưng trước tiên, đây là tóm tắt:Một vòng lặp đã được phát hiện trong biểu thức thuộc tính
Các mã vi phạm:
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<!-- setter properties -->
</Style>
Như bạn có thể thấy, đó là một phong cách cho Button đó đề cập đến nút đó là những gì gây ra vấn đề này. Cách giải quyết đầu tiên tôi đọc có liên quan đến việc tách mã như sau:
<Style x:Key="ButtonStyleToApply" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<!-- setter properties -->
</Style>
<!-- and in another style dictionary, -->
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ButtonStyleToApply}"/>
... và sau đó hai bộ kiểu này đi vào các từ điển khác nhau. Rõ ràng, điều này đã không làm bất kỳ tốt hoặc - VS vẫn ngửi ra những gì tôi đã làm nhưng nó vẫn biên dịch và chạy tốt. Bây giờ, đây là một cách giải quyết khác:
"Có một số thay đổi về kiến trúc trong XAML Designer trong Visual Studio đã làm giảm kịch bản này. Chúng tôi sẽ làm việc để cải thiện trải nghiệm này trong tương lai nhưng ngay bây giờ bạn có thể giải quyết vấn đề này không xác định tài nguyên trong đối tượng Application (App.xaml) mà thay vào đó xác định chúng trong tài liệu cục bộ (MainPage.xaml) "
Điều này đã được đăng trong truy vấn hỗ trợ kỹ thuật Here. (Connect.Microsoft.Com)
Nhưng tôi tin tưởng vào kinh nghiệm từ mọi người. Những gì các đồng nghiệp của tôi có thể cho tôi biết? Câu hỏi của tôi là một hai parter. 1. Tôi thậm chí có cần phải bận tâm với cách giải quyết nếu chương trình được biên dịch không? Và 2. Nếu tôi tốt để đi, có cách nào để nói với VS chỉ cần bỏ qua nó? Tôi biết bỏ qua nó trên một phần của tôi hoặc VS của có lẽ được coi là "thực hành xấu" nhưng ngoài đó ...?
chỉ FYI: vui lòng không bao gồm tên thẻ trong tên sách của bạn; phần mềm sẽ chăm sóc điều này cho bạn. Xem: http://meta.stackexchange.com/questions/130242/using-tags-in-question-tiêu đề –
hiểu, cảm ơn bạn :) –