【问题标题】:In wpf, is there a way to change the inkcanvas background colour in code? [closed]在 wpf 中,有没有办法在代码中更改 inkcanvas 背景颜色? [关闭]
【发布时间】:2014-03-07 19:55:18
【问题描述】:

我正在使用 wpf 的 inkcanvas 制作一个小型绘图程序,并且我一直在尝试更改 c# 代码中的背景颜色,以便用户可以在它运行时通过添加 RGB 值来更改它。 谁能给我一个例子或指出正确的方向?

【问题讨论】:

  • 请阅读This Article。它将极大地帮助您解决当前和未来的问题。
  • 好点,我已经改变了我的描述,谢谢。

标签: c# wpf colors rgb inkcanvas


【解决方案1】:
theInkCanvas.Background = new SolidColorBrush(Color.FromRgb(r, g, b));

【讨论】:

    【解决方案2】:

    有很多预制的颜色可以使用,可以直接访问

    myInkCanvas.Background = Brushes.GhostWhite;
    

    适应您更新的问题

    int r, g, b; 
    //set r,g,b to something
    myInkCanvas.Background = new SolidColorBrush(Color.FromArgb(255, (byte)r, (byte)b, (byte)b));
    

    为了好玩,如果你有一个十六进制字符串

    myInkCanvas.Background = (Brush) new System.Windows.Media.BrushConverter().ConvertFromString("#FFFFFF90");
    

    带有单独的十六进制字符串

    myInkCanvas.Background = new SolidColorBrush(Color.FromArgb(0xff, 0xff, 0x90));
    

    【讨论】:

    • 我没想过用十六进制来做,谢谢。
    • @AGJM13 没问题。但是,如果您在内部处理整数,我不会将它们串在一起并进行转换......那是不必要的......主要是当您从字符串中读取或从用户那里获取它时
    猜你喜欢
    • 2020-07-13
    • 2020-12-10
    • 2021-07-14
    • 2023-02-10
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多