Flex Alert.styleName tidak berfungsi untuk saya

Saya memiliki kode ini, tetapi gayanya tidak diterapkan. Saya telah melihat artikel di web tempat ini seharusnya berfungsi. Ada ide?

var alert:Alert = Alert.show("You have not saved you changes.\n\nWould you like to save now?",
                             "Save Answers?",
                             Alert.NO | Alert.YES | Alert.CANCEL, 
                             this, 
                             handleUnsavedChanges,
                             null, 
                             Alert.YES);

alert.styleName = "alertStyle";

Mencoba mengatur gaya menggunakan kelas Alert di stylesheet saya sepertinya berhasil, tetapi memunculkan peringatan. Saya ingin mencari cara yang "disetujui".

BTW, ini Flex 3.

PS - Saya juga sudah mencoba hal-hal seperti

alert.setStyle("backgroundColor", "0x00FF00");

tapi sepertinya ini juga tidak berhasil. Saya merasa perlu memanggil sesuatu untuk memberi tahu kotak Peringatan agar menggambar ulang sendiri, tetapi saya tidak tahu caranya.


person Vinnie    schedule 13.09.2011    source sumber


Jawaban (1)


Anda dapat membuat kelas khusus untuk menggunakan css tertentu:

public class CustomAlert extends Alert {}

... Lalu di CSS

CustomAlert 
{
    background-color: #00FF00;
}

Atau contoh yang sedikit lebih rumit:

        import mx.styles.StyleManager;
        private function init():void {
            alertCSS = StyleManager.getStyleDeclaration("Alert");
        }

        private function showAlert(color:Object):void {
            alertCSS.setStyle("backgroundColor", "0x00FF00");
            alert = Alert.show("The quick brown fox...");
        }
person Joe    schedule 13.09.2011
comment
Dua komentar: 1.) Saya tidak ingin memberi gaya pada semua peringatan, hanya yang ini saja. 2.) Saya telah menyebutkan bahwa pendekatan ini menghasilkan peringatan kompiler (pemilih tipe CSS tidak didukung dalam komponen: 'Peringatan') - person Vinnie; 13.09.2011
comment
Ini adalah kesalahan id10t. Untuk beberapa alasan, kode untuk membuat kotak peringatan yang sama persis diduplikasi di banyak tempat. Karena tidak menyangka, saya mencoba menata gaya yang pertama saya pilih (tentu saja yang salah). Bagaimanapun, tampaknya semua pendekatan ini akan berhasil - bahkan mengatur CSS styleName pada kotak peringatan yang sudah dibuat. - person Vinnie; 13.09.2011