滑块的大小在初始化时发生变化

Slider's size changes when initialised

首先感谢您抽空阅读!

所以,我遇到的是以下情况; 明天考试前我做了一个简单的东西。当我更改上面滑块的值时,我试图更改 canvas 的背景。 在一次又一次地面对我的错误之后,我屈服并打开了调试。 Aaand 显然,当某些事情发生变化时必须启动的方法,在 Mainwindow.xaml 初始化组件时启动。 (而且 canvas' 背景是漆黑的,无论滑块有什么值。所以我猜从字符串到字节的解析也不起作用) 我必须使用其他活动吗?

    public MainWindow()
    {
        InitializeComponent();
    }

    private void HSlider_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        doShit(HSlider.Value);//when debugging, the program stops here before the window even pops up
    }

    private void VSlider_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        doShit(VSlider.Value);
    }

    private void doShit(double Value)
    {
        SolidColorBrush br = new SolidColorBrush();
        for (int count = 0; count < Value; ++count)
        {
            br.Color = Color.FromRgb(Byte.Parse(Value.ToString()), Byte.Parse(Value.ToString()), Byte.Parse(Value.ToString()));
        }
        drawingCanvas.Background = (br);
    }

吉姆,

要澄清颜色问题,试试这个。滑块最小值 = 0,最大值 = 15。那你的方法就简单多了。

     private void doShit(double Value)
{
    Value = Math.Min(Value, 15)
    SolidColorBrush br = new SolidColorBrush();
    br.Color = Color.FromArgb(100, (int) Value*16, (int) Value*16, (int) Value*16);
    drawingCanvas.Background = (br);
}