zoukankan      html  css  js  c++  java
  • WPF MarkupExtension

    创建自己的特殊标签。

    继承Markupextension。

    具体用法很简单:

      public class IsBiggerNumberExtension : MarkupExtension
        {
            public IsBiggerNumberExtension(object num)
            {
                Number = num;
            }
             public object Number
            {
                get;
                set;
            }
            public IsBiggerNumberExtension()
            {
    
            }
            public override object ProvideValue(IServiceProvider serviceProvider)
            {
                var target = serviceProvider.GetService(typeof(IProvideValueTarget)) as IProvideValueTarget;
    
                var dp = target.TargetProperty as DependencyProperty;
    
                var dpo = target.TargetObject as DependencyObject;
    
                double d = 0,d2=0;
    
                var n = double.TryParse(dpo.GetValue(dp).ToString(),out d);
    
                var n1= double.TryParse(Number.ToString(), out d2);
    
                var result = d>d2;
    
                var h = dp.IsValidType(result);
    
                return h?result:(object)result.ToString();
            }
        }
    <TextBlock Grid.Row="1"  Text="{local:IsBiggerNumber 1}" >

    本例是非常垃圾的。

    准确的说是根本排不上用场。

    这里面最主要的就是ProvideValue这个方法的里面参数

    通过这个参数我们可以获取是什么控件,是什么属性在使用这个标签。

  • 相关阅读:
    ssh session 共享
    python 快速开启http服务
    GCC 默认头文件搜索路径
    GCC 部分单元测试编译失败
    随机森林与GBDT
    DecisionTree
    SVM
    KDDCUP CTR预测比赛总结
    剑指offer-java
    搜狗搜索日志传输与分析
  • 原文地址:https://www.cnblogs.com/T-ARF/p/12433701.html
Copyright © 2011-2022 走看看