WPF多值转换器

这篇具有很好参考价值的文章主要介绍了WPF多值转换器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:实现Slider拖动可以调整rgb

单转换器:WPF中数据绑定转换器Converter-CSDN博客

WPF多值转换器,wpf,C#,wpf,c#

在View中:

<StackPanel Orientation="Vertical">
    <Slider x:Name="slider_R" Minimum="0" Maximum="255" Width="200" Margin="20"/>
    <Slider x:Name="slider_G" Minimum="0" Maximum="255" Width="200" Margin="20"/>
    <Slider x:Name="slider_B" Minimum="0" Maximum="255" Width="200" Margin="20"/>

    <Path VerticalAlignment="Center" HorizontalAlignment="Center">
        <Path.Data>
            <EllipseGeometry Center="50, 50" RadiusX="50" RadiusY="50"/>
        </Path.Data>

        <Path.Fill>
            <MultiBinding Converter="{StaticResource rmc}">
                <Binding ElementName="slider_R" Path="Value"/>
                <Binding ElementName="slider_G" Path="Value"/>
                <Binding ElementName="slider_B" Path="Value"/>
            </MultiBinding>
        </Path.Fill>
    </Path>
</StackPanel>

        -- Fill中绑定的资源是Window.Resources中引入进来的转换器key

        -- 转换器返回的是一个SolidBrush,其实就是相当于在这个地方写个SolidBrush

        -- 这里绑定的是Slider的值,但是如果是有值的就直接Path指向那个值就行:

                

<Button.Style>
    <!--单值转换器-->
    <!--<Style TargetType="Button">
        <Setter Property="IsEnabled" Value="{Binding Age, Converter={StaticResource singleConverter}}"/>
    </Style>-->
    <Style TargetType="Button">
        <Setter Property="IsEnabled">
            <Setter.Value>
                <MultiBinding Converter="{StaticResource multiConverter}">
                    <Binding Path="Age"/>
                    <Binding Path="Grade"/>
                </MultiBinding>
            </Setter.Value>
        </Setter>
    </Style>
</Button.Style>

转换器中:

public class rgbMultiConventer : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        if (values==null || values.Length < 2)
        {
            return null;
        }

        byte r = System.Convert.ToByte(values[0]);
        byte g = System.Convert.ToByte(values[1]);
        byte b = System.Convert.ToByte(values[2]);

        Color color = Color.FromRgb(r, g, b);

        return new SolidColorBrush(color);
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

 -- 就是转换器类接上接口“IMultiValueConverter”文章来源地址https://www.toymoban.com/news/detail-817235.html

到了这里,关于WPF多值转换器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在线PDF格式转换器推荐,小圆象PDF转换器满足您的办公需求

    作为上班族,我们都知道在办公应用中经常使用PDF文件。PDF具有较高的内容安全性,并且可以在多种设备上打开和浏览而不会出现格式混乱的问题。然而,PDF文件的一个短板是其不易编辑。通常情况下,我们需要将PDF文件转换为Word文档,以便提取其中的文字内容或进行格式编

    2024年02月11日
    浏览(63)
  • 【图像增强器和转换器】Winxvideo AIAI 驱动的视频/图像增强器和转换器软件。

    Winxvideo AI,以前称为WinX HD Video Converter Deluxe,是一款利用尖端深度学习技术的高级软件工具包。它提供了一套全面的工具,用于放大、稳定、转换、压缩、录制和编辑 4K/8K/HDR 视频。 AI 驱动的功能通过全面的 GPU 加速确保影院级质量。 Winxvideo AI 提供了一套强大且易于使用的视

    2024年02月20日
    浏览(48)
  • RabbitMQ消息转换器

    在SpringAMQP的发送方法中,发送消息和接受消息的类型都是Object,也就是说,我们可以发送任意对象类型的消息, SpringAMQP都会帮我们把发送的消息序列化为字节后再进行发送 。下面,我们可以演示一下: 假设我们现在有个User类,如下(切记一定要实现Serializable接口,才能被

    2024年02月05日
    浏览(62)
  • 电源转换器类型

    1根据转换的形式分类,可分为: AC-AC(交流-交流)转换器:如交流电源变压器、变频器等。 AC-DC(交流-直流)转换器:整流器。 DC-DC(直流-直流)转换器。 DC-AC(直流-交流)转换器:逆变器。 2 根据转换的方法分类,可分为: 线性电源:使用工作在线性区的功率器件调整

    2024年02月08日
    浏览(54)
  • ip转换器哪个好用 ip地址切换器有哪些

    在互联网时代,IP转换器成为了实现高效工作的常见工具。而如今,市面上涌现出了众多的IP转换器软件,使得用户在选择时感到困惑。本文将介绍一种深度IP转换器软件,探讨其特点和优势,以及与其他软件相比的差异,帮助读者在众多产品中作出明智的选择。 强大的功能和

    2024年02月13日
    浏览(56)
  • 电脑视频转换成mp4格式,视频格式转换器转换

    怎么把 电脑视频转换成mp4格式 ? 使用视频转换器,可以转换来自各种设备的音视频格式,包括相机、手机、视频播放器、电视、平板电脑等。因此,音视频爱好者都可以使用它在各种设备上播放或在社交平台上分享。 主要人群及作用: 音乐爱好者:如果酷爱音乐,那么视

    2023年04月13日
    浏览(59)
  • Rabbitmq的消息转换器

    Spring会把你发送的消息序列化为字节发送给MQ,接收消息的时候,还会把字节反序列化为Java对象 ,只不过,默认情况下Spring采用的序列化方式是JDK序列化。众所周知,JDK序列化存在下列问题: 数据体积过大 有安全漏洞 可读性差 发送一个Map对象   发送消息后查看控制台   显

    2024年02月11日
    浏览(44)
  • 视频格式怎么批量转换?5 个批量视频转换器分享

    可以同时转换多个视频吗?您是否正在寻找一款有用的批量视频转换器?最好的批量视频转换器是什么? 使用批量视频转换器同时转换多个视频文件是一个好方法。这篇文章为您总结了 5 个最好的批量视频转换器。 1、奇客视频转换器 这是适用于 Windows 的最佳免费批量视频转

    2024年04月10日
    浏览(64)
  • 免费视频格式转换软件,6大免费视频转换器推荐

    看到大多数人拥有电脑、智能电视,尤其是移动设备,这一代人并不奇怪。在线观看电影和视频是最常见的消磨时间的娱乐方式之一。能够通过网络观看视频是件好事。有些人还喜欢下载它以供离线观看,因为您并非一直都在使用 Wi-Fi。有时,某些格式不适合其他设备,并且

    2024年02月03日
    浏览(89)
  • (七)Flask之路由转换器

    2024年02月08日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包