无法从 'double' 转换为 'byte'
cannot convert from 'double' to 'byte'
所以我正在制作一个应用程序,用户可以在其中使用滑块更改背景颜色。这是我尝试过的:
private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
{
Window1.Background = new SolidColorBrush(Color.FromArgb(0, Slider1.Value, Slider2.Value, Slider3.Value));
}
但实际情况是这样的:
Error CS1503 Argument 2: cannot convert from 'double' to 'byte'
Error CS1503 Argument 3: cannot convert from 'double' to 'byte'
Error CS1503 Argument 4: cannot convert from 'double' to 'byte'
我尝试将它们转换为字节:
Window1.Background = new SolidColorBrush(Color.FromArgb(0, Convert.ToByte(Slider1.Value), Convert.ToByte(Slider2.Value), Convert.ToByte(Slider3.Value)));
但它却坏了
首先确保您要转换的值在 (0 - 255) 之间,方法是将滑块的 Maximum
设置为 255。
那就试试
new SolidColorBrush(Color.FromArgb(
255, (byte)Slider1.Value, (byte)Slider2.Value, (byte)Slider3.Value));
所以我正在制作一个应用程序,用户可以在其中使用滑块更改背景颜色。这是我尝试过的:
private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
{
Window1.Background = new SolidColorBrush(Color.FromArgb(0, Slider1.Value, Slider2.Value, Slider3.Value));
}
但实际情况是这样的:
Error CS1503 Argument 2: cannot convert from 'double' to 'byte'
Error CS1503 Argument 3: cannot convert from 'double' to 'byte'
Error CS1503 Argument 4: cannot convert from 'double' to 'byte'
我尝试将它们转换为字节:
Window1.Background = new SolidColorBrush(Color.FromArgb(0, Convert.ToByte(Slider1.Value), Convert.ToByte(Slider2.Value), Convert.ToByte(Slider3.Value)));
但它却坏了
首先确保您要转换的值在 (0 - 255) 之间,方法是将滑块的 Maximum
设置为 255。
那就试试
new SolidColorBrush(Color.FromArgb(
255, (byte)Slider1.Value, (byte)Slider2.Value, (byte)Slider3.Value));