Exemplo n.º 1
0
        private void InitHourPanel()
        {
            var count = StkHour.Children.Count;

            for (int i = 0; i < 24 - count; i++)
            {
                var border = new Border()
                {
                    Height = 35
                };

                Grid.SetRow(border, (int)(i / 7));
                Grid.SetColumn(border, i % 7);

                var radioButton = new RadioButton()
                {
                    GroupName = "CLOCK_HOUR",
                };
                RadioButtonHelper.SetRadioButtonStyle(radioButton, RadioButtonStyle.Button);
                RadioButtonHelper.SetCornerRadius(radioButton, new CornerRadius(0));
                radioButton.Click += RdbHour_Click;

                SetBinding("Foreground", radioButton, ForegroundProperty);
                SetBinding("FontSize", radioButton, FontSizeProperty);
                SetBinding("ThemeBrush", radioButton, RadioButtonHelper.CheckedBackgroundProperty);
                border.Child = radioButton;
                StkHour.Children.Add(border);
            }

            for (int i = 0; i < 24; i++)
            {
                var radioButton = (StkHour.Children[i] as Border).Child as RadioButton;

                radioButton.IsChecked = SelectedTime.Hour == i;
                radioButton.Content   = i.ToString("00");
                radioButton.Tag       = i;
            }

            ScrollHour.ScrollToVerticalOffset((SelectedTime.Hour - 3) * 35);
        }
Exemplo n.º 2
0
 /// <summary>
 ///  重新设置RadioButton的时间(如果必要),选中指定的时间。
 /// </summary>
 private void SelectTime(int hour, int minute, int second)
 {
     if (StkHour.Children.Count != 24 || StkMinute.Children.Count != 60 || StkSecond.Children.Count != 60)
     {
         return;
     }
     {
         var radio = StkHour.Children[hour] as PURadioButton;
         radio.IsChecked = true;
         ScrollHour.ScrollToVerticalOffset((hour - 2) * radio.ActualHeight);
     }
     {
         var radio = StkMinute.Children[minute] as PURadioButton;
         radio.IsChecked = true;
         ScrollMinute.ScrollToVerticalOffset((minute - 2) * radio.ActualHeight);
     }
     {
         var radio = StkSecond.Children[second] as PURadioButton;
         radio.IsChecked = true;
         ScrollSecond.ScrollToVerticalOffset((second - 2) * radio.ActualHeight);
     }
 }