亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 Rectangle.Fill 多重綁定不起作用?

為什么 Rectangle.Fill 多重綁定不起作用?

C#
HUX布斯 2023-12-17 16:55:43
我想創建一個簡單的 WPF 應用程序,您可以在其中設置 RGB 顏色(通過 3 個滑塊 - 每個通道一個)以及結果填充 Rectangle 的顏色。當然,僅使用 XAML 就可以做到這一點,因為我想提供來自三個不同值的 Rectangle.Fill,所以我使用了 IMultiValueConverter綁定。        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)        {            return new SolidColorBrush(ExtractColorFrom(values));        }        private Color ExtractColorFrom(object[] values)        {            byte red = System.Convert.ToByte((double)values[0]);            byte green = System.Convert.ToByte((double)values[1]);            byte blue = System.Convert.ToByte((double)values[2]);            Color color = new Color();            color.R = red;            color.G = green;            color.B = blue;            return color;        }但該綁定不適用于 Rectangle.Fill。 XAML 有問題嗎?
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

驗證您的 IMultiValueConverter 實現。


您可以使用 Color.FromRgb(red, green, blue);


對我有用!


public class RgbToBrushConverter : IMultiValueConverter

{

    public RgbToBrushConverter()

    {


    }


    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)

    {

        var x = ExtractColorFrom(values);

        return new SolidColorBrush(x);

    }


    private Color ExtractColorFrom(object[] values)

    {

        byte red = System.Convert.ToByte((double)values[0]);

        byte green = System.Convert.ToByte((double)values[1]);

        byte blue = System.Convert.ToByte((double)values[2]);

        return Color.FromRgb(red, green, blue);

    }


    ///MUST!!!!!

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)

    {

        throw new NotImplementedException();

    }

}

https://img1.sycdn.imooc.com/657eb7c7000115b106460364.jpg

并檢查 Text='R' x 3 ?文本=“G” ,“B” ?



查看完整回答
反對 回復 2023-12-17
  • 1 回答
  • 0 關注
  • 208 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號