首页新闻找找看学习计划

求一验证WPF控件中Margin属性验证的表达式

0
悬赏园豆:10 [已关闭问题] 关闭于 2013-09-13 09:36

求一WPF控件中Margin属性格式验证的表达式,完整格式如下:"20,-10.5,15.5,-5"

你们懂的。

问题补充:

纯整数的验证可以了,如下:

^(\-|\+)?[\d]+,(\-|\+)?[\d]+,(\-|\+)?[\d]+,(\-|\+)?[\d]+$

带小数的该如何写呢?

修改后,如下:

@"^-?([\d]|(-?[\d]+)(\.[\d]+)?)+,-?([\d]|(-?[\d]+)(\.[\d]+)?)+,-?([\d]|(-?[\d]+)(\.[\d]+)?)+,-?([\d]|(-?[\d]+)(\.[\d]+)?)+$"
fei_fei的主页 fei_fei | 初学一级 | 园豆:185
提问于:2013-09-12 15:21
< >
分享
所有回答(2)
0

Margin属性的格式不是光这种完整模式的,"2", "2,2"之类的非完整模式也是合法的,并且中间也允许空格。用正则表达式判断很麻烦的。

直接用WPF自己用的ThicknessConverter判断不就可以了,用正则表达式干嘛。

天方 | 园豆:5264 (大侠五级) | 2013-09-12 19:34

自定义控件的Margin属性,格式是死的就行:"20,-10.5,15.5,-5",不要一位、两位或者带空格那么麻烦的。现在整形的可以了,就是不知道如何将整形和浮点型一起写。

ThicknessConverter这个不太会用。

支持(0) 反对(0) fei_fei | 园豆:185 (初学一级) | 2013-09-13 08:09

@fei_fei: 

很简单的,看看api的说明应该也能看出来。

    static bool IsValidThicknessExpression(string exp)
    {
        try
        {
            new ThicknessConverter().ConvertFromString(exp);
            return true;
        }
        catch 
        {
            return false;
        }
    }
支持(0) 反对(0) 天方 | 园豆:5264 (大侠五级) | 2013-09-13 14:02
0
@"^-?([\d]|(-?[\d]+)(\.[\d]+)?)+,-?([\d]|(-?[\d]+)(\.[\d]+)?)+,-?([\d]|(-?[\d]+)(\.[\d]+)?)+,-?([\d]|(-?[\d]+)(\.[\d]+)?)+$"
fei_fei | 园豆:185 (初学一级) | 2013-09-13 09:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册