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

时间:2016-09-02 14:48:58

标签: c# wpf slider

首先,感谢您花时间阅读!

所以,我遇到的是以下内容; 我明天考试前做了一件简单的事。当我改变上面滑块的值时,我试图改变画布的背景。 在我的脸上一遍又一遍地出错之后,我放弃了并打开了调试。 Aaand显然是当某些东西发生变化时必须触发的方法,当Mainwindow.xaml初始化组件时会激活。 (无论滑块有什么价值,画布的背景都是黑色的。所以我想从字符串到字节的解析也不起作用) 我是否必须使用其他活动?

    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);
    }

1 个答案:

答案 0 :(得分:0)

吉姆,

澄清颜色的事情,试试这个。 Slider Minvalue = 0,MaxValue = 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);
}