博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
silverlight 转换器经典demo
阅读量:6289 次
发布时间:2019-06-22

本文共 2320 字,大约阅读时间需要 7 分钟。

当在 文本框中输入 大于0时,会显示向上的箭头,输入等于0时,会显示一条横线,输入小于0时,会显示向下的箭头。

 

 

前台XAML代码:

 

后台CS代码:

View Code
using System;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Ink;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;namespace Class4Samples{    public partial class BindingConverter : UserControl    {        public BindingConverter()        {            // Required to initialize variables            InitializeComponent();        }    }}

 

可以看到,后台一句代码也没有写。

我们用到了一个转换器。

 

代码如下:

using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;namespace Class4Samples{    public class NumberToArrowStyleConverter : IValueConverter    {        #region IValueConverter Members        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)        {            double number;            if (value != null && double.TryParse(value.ToString(), out number))            {                if (number > 0.0)                {                    return App.Current.Resources["UpStyle"];                }                else if (number < 0.0)                {                    return App.Current.Resources["DownStyle"];                }                else                {                    return App.Current.Resources["NormalStyle"];                }            }            else            {                return null;            }        }        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)        {            throw new NotImplementedException();        }        #endregion    }}

 

这样就可以实现上面说的需求了。

 

另外有一个技巧:我们写了一个转换器后,可以不用在XAML里面手工编写XAML代码去引用它。

我们可以在blend中,data面板中,

点击“从类中创建示例数据”,根据转换器名称搜索到我们要的转换器后,命名后,点击确定。就可以引到XAML中了。

 

要绑定时,在blend也是可以利用工具去做绑定。

 

转载于:https://www.cnblogs.com/eagle1986/archive/2012/08/16/2643166.html

你可能感兴趣的文章
Linux shell编程学习笔记-----第十七章
查看>>
Spring-MVC
查看>>
Vue+Element+computed实现购物车
查看>>
python库参考学习网址
查看>>
css3创建动画
查看>>
CentOS6.2安装memcache
查看>>
iOS向后台申请一段时间
查看>>
魅情景
查看>>
javascript 坑
查看>>
基于VUE的九宫格抽奖功能
查看>>
Linux中修改环境变量及生效方法
查看>>
2017/10/10 jar包错误
查看>>
15年浙江省赛总结
查看>>
【转载】【收藏】Github上免费的编程教程【作者Victor Felder】
查看>>
[C++基础]007_char、wchar_t、wcout、setlocale()
查看>>
构造函数初始化列表tips
查看>>
Linux下串口编程总结
查看>>
Weblogic启动服务时候提示:Authentication for user weblogic denied
查看>>
贝赛尔曲线实现填充不规则图形,并且随手指运动
查看>>
SpringMVC-@CookieValue
查看>>