Tôi dường như không thể tham khảo loại enum lồng nhau công khai từ XAML. Tôi có một lớpTham khảo kiểu enum lồng nhau từ XAML
namespace MyNamespace
{
public class MyClass
{
public enum MyEnum
{
A,
B,
}
}
}
Và tôi cố gắng tham khảo MyEnum
trong XAML như thế này:
xmlns:MyNamespace="clr-namespace:MyNamespace;assembly=MyApp"
....
{x:Type MyNamespace:MyClass:MyEnum} // DOESN'T WORK
nhưng VS phàn nàn nó không thể tìm thấy công loại MyEnum
. Tôi cũng đã cố gắng sử dụng cú pháp +
dựa trên một trong những câu trả lời cho this post ...
{x:Type MyNamespace:MyClass+MyEnum} // DOESN'T WORK
nhưng điều đó không làm việc, hoặc.
Lưu ý rằng x:Static
không làm việc với các cú pháp +
:
{x:Static MyNamespace:MyClass+MyEnum.A} // WORKS
Và nếu tôi di chuyển ra khỏi MyEnum
MyClass
tôi có thể tham khảo nó quá. Nhưng không phải nếu nó được lồng vào nhau ...
Vì vậy, tôi đang thiếu gì? Làm thế nào để tôi tham khảo một enum lồng nhau từ XAML sử dụng x:Type
? (Và lưu ý, tôi không cố gắng để khởi tạo bất cứ điều gì, chỉ cần tham khảo các loại).
CẬP NHẬT
Dường như đây chỉ là một lỗi với nhà thiết kế VS 2010. Nhà thiết kế phàn nàn rằng Type MyNamespace:MyClass+MyEnum was not found
. Nhưng ứng dụng xuất hiện để chạy và truy cập đúng loại lồng nhau. Tôi đã thử điều này với một lớp lồng nhau quá, và nó hoạt động tại thời gian chạy.
Có thể lỗi mở: http://social.msdn.microsoft.com/forums/en-US/wpf/thread/12f3e120-e217-4eee-ab49-490b70031806/
chủ đề liên quan: Design time error while writing Nested type in xaml
Trông như thế này có thể là một lỗi được biết đến trong thiết kế VS2010? http://social.msdn.microsoft.com/forums/en-US/wpf/thread/12f3e120-e217-4eee-ab49-490b70031806/ – hashlock
Năm 2012 nó hoạt động, độ cao Nhà thiết kế hiển thị lỗi cho đến khi bạn xây dựng dự án của mình – Kranach