2009-09-30 27 views
14

Tôi đang xây dựng một dự án Flex hơi lớn bao gồm một số module (một dự án Flex duy nhất tạo ra nhiều file SWF)Tắt cảnh báo bộ chọn loại Flex CSS?

Ngay bây giờ, tôi có một tập tin css duy nhất, được nạp trong thẻ SWF chính:

<s:Application ... > 
    <fx:Style source="css/main.css" /> 
... 
</s:Application> 

Trong file CSS:

/* CSS file */ 
@namespace s "library://ns.adobe.com/flex/spark"; 

s|Panel { 
    skinClass: ClassReference("com.skins.DefaultPanelSkin"); 
} 

s|Button { 
    skinClass: ClassReference("com.skins.DefaultButtonSkin"); 
} 

các tập tin CSS không được tham chiếu bất cứ nơi nào khác.

Tôi hiện có 6 mô-đun (cộng với SWF chính, tổng cộng 7 SWF). Tôi đã nhận thấy rằng số lượng cảnh báo tương quan với số lượng mô-đun ... mỗi khi tôi thêm một mô-đun, tôi nhận được nhiều cảnh báo hơn. Ngay bây giờ, tôi nhận được 6 lời cảnh báo cho tất cả các mục trong file CSS, vì vậy:

CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 

Và lặp lại cho Button, TextArea, vv vv Tôi có rất nhiều cảnh báo vô dụng, nó là không thể để xem nếu có bất kỳ những cái hợp lệ.

Cảnh báo này có phải do điều tôi đang làm sai không? Tất cả các kiểu đều được áp dụng chính xác và dường như chỉ hoạt động theo cách tôi muốn khi chạy. Nếu tôi không làm gì sai, tôi có thể yêu cầu trình biên dịch bỏ qua cảnh báo này không?

LƯU Ý: Tôi đã thử cờ biên dịch -show-unused-type-selector-warnings=false và nó không hoạt động ... đó là cảnh báo tương tự nhưng khác.

+0

Thêm tiền thưởng ... 161 cảnh báo về việc biên dịch đơn giản là không thể quản lý được. Tôi có thể tạo ra một mẫu rút gọn dự án Flex Builder để tạo ra vấn đề này nếu có ai muốn. – davr

Trả lời

1

Vấn đề là bạn không thể xác định kiểu toàn cục trong các mô-đun đã tải. Bạn có thể sử dụng một stylename cụ thể cho thẻ Module và sử dụng hậu duệ trong css của bạn để áp dụng các phong cách để các thành phần phụ:

<mx:Module styleName='mySubStyle' .../> 

và trong việc sử dụng css:

.mySubStyle s|Panel { color: #FF0000; } 
+1

Tôi không xác định kiểu toàn cầu trong mô-đun đã tải, tôi định nghĩa nó trong chính, gốc, cha, không phải là mô-đun SWF. Và đó là nơi duy nhất tôi tham chiếu đến tệp CSS ... không có mô-đun nào có các thẻ