精华内容
下载资源
问答
  • WPF Converter

    2020-09-22 19:16:32
    public class BrushToColorConverter : IValueConverter { public static readonly BrushToColorConverter Instance = new BrushToColorConverter(); BrushToColorConverter() { } public object Convert(o.....
    	public class BrushToColorConverter : IValueConverter {
    		public static readonly BrushToColorConverter Instance = new BrushToColorConverter();
    		BrushToColorConverter() { }
    
    		public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
    			var brush = value as SolidColorBrush;
    			if (brush != null)
    				return brush.Color;
    			return null;
    		}
    
    		public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
    			throw new NotImplementedException();
    		}
    	}
    internal class BoolToVisibilityConverter : IValueConverter {
    	public static readonly BoolToVisibilityConverter Instance = new BoolToVisibilityConverter();
    	BoolToVisibilityConverter() { }
    
    	public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
    		Debug.Assert(value is bool);
    		Debug.Assert(targetType == typeof(Visibility));
    		return (bool)value ? Visibility.Visible : Visibility.Collapsed;
    	}
    
    	public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
    		throw new NotSupportedException();
    	}
    }
    

     

     

    展开全文
  • wpf converter

    2019-09-25 15:57:16
    "{Binding Path=Text, ElementName=txtFirstName,Converter={StaticResource checkBoxCheckConverter}}" > < / CheckBox > < TextBlock Text = "MultiValue Converter Exampkle" HorizontalAlignment = ...

    现在有类似需求:根据textbox字符串是否为空,设置按钮是否可见
    首先定义转换类

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Text;  
    using System.Threading.Tasks;  
    using System.Windows.Data;  
      
    namespace ValueConverters  
    {  
       public class ValueConverter:IValueConverter  
        {  
            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)  
            {  
                bool isenable = true;  
                if (string.IsNullOrEmpty(value.ToString()))  
                {  
                   isenable = false;  
                }  
                return isenable;  
            }  
            public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)  
            {  
                throw new NotImplementedException();  
            }  
        }  
    }  
    

    根据textbox值设置CheckBox是否选中

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Text;  
    using System.Threading.Tasks;  
    using System.Windows.Data;  
      
    namespace ValueConverters  
    {  
        class CheckBoxCheckConverter:IValueConverter  
        {  
            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)  
            {  
                if (value.ToString().ToUpper() == "MARRIED")  
                {  
                    return true;  
                }  
                else  
                {  
                    return false;  
                }  
            }  
      
            public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)  
            {  
                bool married = System.Convert.ToBoolean(value);  
                if (married == true)  
                    return "Married";  
                else  
                    return "Unmarried";  
            }  
        }  
    }  
    
    

    main窗体 xaml文件设置

    <Window x:Class="ValueConverters.MainWindow"  
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
            xmlns:local="clr-namespace:ValueConverters"  
            Title="MainWindow" Height="350" Width="525">  
        <Window.Resources>  
            <local:ValueConverter x:Key="valueconverter"></local:ValueConverter>  
            <local:CheckBoxCheckConverter x:Key="checkBoxCheckConverter"></local:CheckBoxCheckConverter>  
        </Window.Resources>  
        <Grid>  
            <TextBlock Text="Value Converter Exampkle" HorizontalAlignment="Stretch" VerticalAlignment="Top" TextAlignment="Center"></TextBlock>  
            <TextBox Name="txtFirstName" HorizontalAlignment="Left" VerticalAlignment="Top" Height="36" Width="255" Margin="136,38,0,0" ></TextBox>  
            <Button Content="Click" HorizontalAlignment="Left" VerticalAlignment="Top" Height="23" Width="50" Margin="230,101,0,0" IsEnabled="{Binding Path=Text, ElementName=txtFirstName,Converter={StaticResource valueconverter}}"></Button>  
            <CheckBox Content="Married" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="307,108,0,0" IsChecked="{Binding Path=Text, ElementName=txtFirstName,Converter={StaticResource checkBoxCheckConverter}}"></CheckBox>  
            <TextBlock Text="MultiValue Converter Exampkle" HorizontalAlignment="Stretch" VerticalAlignment="Top" TextAlignment="Center" Margin="10,146,-10,0"></TextBlock>  
        </Grid>  
    </Window>  
    
    展开全文
  • wpf 添加converter

    2021-04-06 15:39:41
    McsfRestoreTool.Converters是converter所在的namespace,如果一开始报找不到,可以尝试清理解决方案 还有切换any cpu 和x64 ResourceDictionary 引入具体的converter public class BoolToSuccessC.
    1. xml 添加引用:
      xmlns:Converters ="clr-namespace:McsfRestoreTool.Converters"
    • 其中Converters可以随便填,它是一个标签名
      McsfRestoreTool.Converters是converter所在的namespace,如果一开始报找不到,可以尝试清理解决方案 还有切换any cpu 和x64
    1. ResourceDictionary 引入具体的converter
      在这里插入图片描述
        public class BoolToSuccessConverter : IValueConverter
        {
            public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
            {
                if (value == null)
                {
                    McsfRestoreLogger.WriteLog("[BoolToSuccessConverter]: value is null.");
                    return false;
                }
                else
                {
                    if ((bool)value)
                    {
                        return "Success";
                    }
                    else
                    {
                        McsfRestoreLogger.WriteLog("[BoolToSuccessConverter]: value is ." + value);
                        return "Failed";
                    }
                }
            }
    
            public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
            {
                throw new NotImplementedException();
            }
        }
    
    展开全文
  • The <code>PackIconKindToImageConverter</code> converts a PackIcon kind to a DrawingImage which can be used with an ImageSource.</li><li>Add Image converter for all separate projects</li><li><code>...
  • WPFConverter

    2013-11-21 22:06:00
    WPFConverter Leo 在我们做项目的时候,经常会遇见这样的事情: 在数据中我们定义的是true,false而在现实的时候则可能要求男,女 我们还得能定义成了0,1,2,3,4,5,6 而在显示的时候确要求我...

    WPF  Converter

                                                                                Leo

    在我们做项目的时候,经常会遇见这样的事情:

    在数据中我们定义的是truefalse 而在现实的时候则可能要求男,女

    我们还得能定义成了0123456

    而在显示的时候确要求我们显示成了周日,周一….周六

     

    那么我们究竟应该怎样做来进行转换呢?方法很多,在只有truefalse的时候直接写

    If(gender)

    Else

     

    那么想012,。。。借助这个思想就是

    Switch(week)

    {

             Case 1:

                       周一;

             Break;

             Case 2:

                       ……..

             Case 0:

    周日;

             Break;

    }

     

    在后台这样转换时可以了,可是在WPF中都是进行绑定的啊,了,我们还得封装一个实体,然后先转换了在绑定,如果这么做的话就会有些ugly…..头痛

     

    还不错:Converter可以帮我们解决这样的问题:

    转换的思想不便,只是有了Converter我们只要直接集成IConverter,在前台就可以进行绑定了。

    如下所示:

    [ValueConversion(typeof(int), typeof(String))]

        public class WeekConverter : IValueConverter

        {

            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)

            {

                int index = (int)value;

                string result = null;

                switch (index)

                {

                    case 1:

                        result = "星期一";

                        break;

                    case 2:

                        result = "星期二";

                        break;

                    case 3:

                        result = "星期三";

                        break;

                    case 4:

                        result = "星期四";

                        break;

                    case 5:

                        result = "星期五";

                        break;

                    case 6:

                        result = "星期六";

                        break;

                    case 0:

                        result = "星期日";

                        break;

                  

                }

                return result;

            }

            public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)

            {

                string index = (string)value;

                int result = -1;

                switch (index)

                {

                    case "周一":

                        result = 1;

                        break;

                    case "周二":

                        result = 2;

                        break;

                }

                return result;

            }

        }

    <Window x:Class="WorkTimeManager.Test"

                    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 

                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     

                    xmlns:local="clr-namespace:WorkTimeManager"     

                    Title="MainWindow" Height="350" Width="525" x:Name="mainWindow">

        <Window.Resources>

            <local:WeekConverter  x:Key="weekConvert"/>

        </Window.Resources>

        <Grid>

            <ListView x:Name="lstBox" ItemsSource="{Binding ElementName=Test,Path=ListData}">

                <ListView.ItemTemplate>

                    <DataTemplate>

                        <Border Width="300" Height="30">

                            <StackPanel Orientation="Horizontal">

                                <TextBlock FontSize="12" Text="今天是:" />

                                <TextBlock FontSize="12" Text="{Binding Converter={StaticResource weekConvert}}"/>

                                <TextBlock FontSize="12" Text="数据库中的值是:"/>

                                <TextBlock FontSize="12" Text="{Binding}"/>

                            </StackPanel>

                        </Border>

                    </DataTemplate>

                </ListView.ItemTemplate>

            </ListView>

        </Grid>

    </Window>

    在后台对数据进行一下绑定或者设置成属性都可以的!

     

    总之,方便多了!

     

     

     

    ===========================================================

     

     

     北京]北京-梅子(771432311)  19:15:20
    数据库中存储的是数字 想在页面上显示 0=> 合格 要如何实现?谁帮忙提示提示   
    空空空(410502460)  19:17:16
    VALUECONVERTER
    [甘肃]轩辕(904417059)  19:17:24
    估计link可以
    提出来单独处理一下
    Rolk(383628918)  19:18:01
    Converter 
     
     
     大神 我看好你哟 
    奋斗(283309167)  19:16:41
    public class UserStatusConverter : IValueConverter
        {

            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                if (value != null)
                {
                    return (((int)value) == 1 ? "启用" : "停用");
                }
                else
                {
                    return DependencyProperty.UnsetValue;
                }
                
            }

            public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                if (targetType != typeof(int)) throw new InvalidOperationException("转换的值必须是字符!");
                return (value.ToString() == "启用" ? 1 : 0);
            }
        }
    别大神大神的,我是菜鸟
    <telerik:GridViewDataColumn Header="用户状态"
    Width="80"
    DataMemberBinding="{Binding Use_Status,Converter={StaticResource UserStatusConverter},Mode=OneWay}" />
    这如果还不明白,我就无语了
    奋斗(283309167)  19:18:10
    其实你也可以弄个参照数据库表,根据你0,对照为合格也可以做到
    旅人   滴答滴(771432311)  19:18:57
    我正努力看懂。。。非常感谢您的提示 。。。 

    转载于:https://www.cnblogs.com/meimao5211/p/3436465.html

    展开全文
  • WPFConverter

    千次阅读 2018-10-08 10:58:24
    ,Converter={StaticResource SexConverter}}" Width="60"/> ,5,4.6,5" Height="188"/> 具体的代码链接: ( https://pan.baidu.com/s/10tlKrUbBndRz-yHqi2BmtA ) 另外,有一个时钟做的...
  • wpf使用Converter时,如果在同一行中不同列使用同一个Converter,可用ConverterParameter设置参数控制;如果是在同一个数据集中不同的行使用Converter又需要不同的场景,使用MultiConverter来解决 ...
  • 效果如图 上图中,最下方TextBlock控件的Visibility属性由...local:MultiBinding2Converter x:Key="MultiBinding2Converter"></local:MultiBinding2Converter> <TextBlock Text="判断是否显示的文字
  • WPF DataTrigger Converter

    2011-09-19 20:47:58
    DataTrigger中使用Converter时,绑定的属性需要使用ElementName或者RelativeSource Self才能找到该属性,像绑定TextBox的Text,如果直接使用Binding Text或者RelativeSource TemplatedParent
  • WPF datagrid converter

    2013-07-26 15:58:10
    数据库存的是0,1,2,3之类的。界面显示时如何变成具体的值后拼接到一起在一列中显示 如:董事长 总裁 经理 员工 的。显示在datagrid 一列里面 用分号 隔开
  • [WPF 容易忽视的细节] —— Exception in WPF's Converter 原文:[WPF 容易忽视的细节] —— Exception in WPF's Converter前言: 在WPF中,Converter是我们经常要用到的一个工具,因为XAML上绑定的...
  • WPFConverter的使用

    万次阅读 2016-04-02 16:54:38
    WPFConverter的用于对数据的转换。以下实例将实现将数据中的性别属性的转换(0:男,1:女)。 1、创建SexConverter.cs类,并实现IValueConverter接口 public class SexConverter : IValueConverter { public ...
  • 经过调试,这才发现Converter自带该功能。 以下是一个简单案例。 1.创建数据实体 namespace WpfApp_converter.Model { /// <summary> /// 作者:wangj /// 时间:2020-07-05 15:23:36 /// 描述:数据实体...
  • 1.converterparameter不是依赖属性,...2. 可以把converter 的接口IValueConverter改为IMultiValueConverter,实现多个MultiBinding 3.IMultiValueConverter代码,例如: public class MultiBoolToColorConvert...
  • WPF之转换器Converter

    2018-05-12 09:53:00
    {Binding BtnLight, Converter={StaticResource LightTypeToColorConverter},ConverterParameter=1} " > TextBlock > 7 < TextBlock Text ="弱光" TextAlignment ="Center" FontSize =" {Binding BtnLight...
  • WPFwpf用MultiBinding解决Converter需要动态传参的问题,以Button为例 原文:【WPFwpf用MultiBinding解决Converter需要动态传参的问题,以Button为例 用Bindin...
  • 本篇文章小编将为大家介绍,关于WPF使用MultiConverter控制Button状态的详细介绍。需要的朋友参考下
  • 一个可以完成所有工作的WPF Converter类 安装: MathConverter在上可用 要安装MathConverter,请在运行以下命令: PM> Install-Package MathConverter 什么是MathConverter? 在WPF中,绑定绝对不可思议。 它们...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 320
精华内容 128
关键字:

converterwpf