码迷,mamicode.com
首页 > Windows程序 > 详细

WPF错误:必须使“Property”具有非 null 值。

时间:2017-06-18 14:24:30      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:bind   check   转换   isa   button   element   art   错误   new   

这个问题一般出如今Triggers中Property指定的类型为Nullable。

解决的方法就是用DataTrigger取代Trigger, 然后用Binding+Converter转换为详细非Null值。

比方:
<Style x:Key="DisableStyle" TargetType="Button">
            <Style.Triggers>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding ElementName=ckb1, Path=IsChecked, Converter={StaticResource NullableToBooleanConverter}}" Value="true"></Condition>
                        <Condition Binding="{Binding ElementName=ckb2, Path=IsChecked, Converter={StaticResource NullableToBooleanConverter}}" Value="true"></Condition>
                    </MultiDataTrigger.Conditions>
                    <Setter Property="IsEnabled" Value="False"></Setter>
                </MultiDataTrigger>
            </Style.Triggers>
        </Style>


NullableToBooleanConverter:
public object Convert( object value , Type targetType, object parameter, CultureInfo culture )
        {
            Nullable<bool > isCheck = value as Nullable< bool>;
            if (null == isCheck)
            {
                return false ;
            }
            else
            {
                return isCheck .Value;
            }
        }

WPF错误:必须使“Property”具有非 null 值。

标签:bind   check   转换   isa   button   element   art   错误   new   

原文地址:http://www.cnblogs.com/claireyuancy/p/7044090.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!