2009-03-15 28 views
35

Trong dự án Silverlight của tôi, tôi muốn tạo một assembly có chứa .xaml mà không thể nhìn thấy từ bên ngoài assembly. Tuy nhiên, không có cách nào rõ ràng tôi có thể làm điều này. Khi tôi thay đổi sửa đổi lần truy cập vào file .xaml.cs, trình biên dịch nói với tôi:Tạo một tệp XAML bên trong .Net

Partial declarations of "My xaml class here" have conflicting accessibility modifiers 

Trong tập tin XAML chính nó, có vẻ không phải là một nơi để đưa modifier truy cập của tôi. Tóm lại, làm cách nào để tôi đặt lớp được liên kết với tệp xaml của tôi thành internal.

Trả lời

85

Bạn cần thêm x:ClassModifier="internal" vào thẻ UserControl của tệp XAML nếu bạn thay đổi chế độ hiển thị của lớp trong tệp .cs thành nội bộ.

Tệp được tạo từ tệp XAML (ví dụ: MyControl.g.cs) cần khớp với tệp mã phía sau (ví dụ: MyControl.cs). x:ClassModifier cho phép bạn kiểm soát khả năng hiển thị của phần khai báo trong tệp MyControl.g.cs.

+9

Những gì họ nên làm là để lại một phần lớp không được đánh dấu ở đầu ra được tạo ra và thêm "công khai" vào mẫu mã mặc định phía sau ... –

+0

Cảm ơn bạn vì điều này! –

Các vấn đề liên quan