WPF - Zegar binarny z wykorzystaniem kontrolek radio buttons.

0

Przyznaję, że nie znam zbyt dobrze C#, i w ogóle tematyka GUI, to obecnie nie moja bajka, ale chciałem spróbować stworzyć prosty zegar binarny. Wyklikałem sobie okienko, mam na nim 20 radio buttons :D. Odświeżam stan okna co 1 s. Mam czas systemu, który rozbiłem na godziny, minuty i sekundy w formacie BCD. W jaki sposób mogę teraz przełożyć wartość półbajtu na stan 4 radio buttonów?

1

Radiobuttony z zasady działają w ten sposób, że zaznaczając jeden odznaczany jest drugi, więc aby te Twoje radiobuttony zadziałały tak jak chcesz, muszą być np. na oddzielnych gridpanelach i wtedy wystarczy taka metoda:

        void SetHour(byte hour, RadioButton rb0, RadioButton rb1, RadioButton rb2, RadioButton rb3)
        {
            rb0.IsChecked = (hour & 1) == 1;
            rb1.IsChecked = (hour & 2) == 2;
            rb2.IsChecked = (hour & 4) == 4;
            rb3.IsChecked = (hour & 8) == 8;
        }

Lepiej do takich celów sprawdziły by się checkboxy:

        void SetHour(byte hour, CheckBox cb0, CheckBox cb1, CheckBox cb2, CheckBox cb3)
        {
            cb0.IsChecked = (hour & 1) == 1;
            cb1.IsChecked = (hour & 2) == 2;
            cb2.IsChecked = (hour & 4) == 4;
            cb3.IsChecked = (hour & 8) == 8;
        }

1 użytkowników online, w tym zalogowanych: 0, gości: 1