滑块的大小在初始化时发生变化
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);
}
首先感谢您抽空阅读!
所以,我遇到的是以下情况; 明天考试前我做了一个简单的东西。当我更改上面滑块的值时,我试图更改 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);
}