首页 > 其他 > 详细

BooleanToVisibilityConverter.cs

时间:2015-01-31 01:37:07      阅读:320      评论:0      收藏:0      [点我收藏+]
//---------------------------------------------------------------------------- 
//
// Copyright (C) Microsoft Corporation.  All rights reserved.
//
//--------------------------------------------------------------------------- 

using System; 
using System.ComponentModel; 
using System.Windows;
using System.Windows.Media; 
using System.Windows.Data;
using System.Globalization;
using System.Collections.Generic;
 
using MS.Internal.Controls;
 
 
namespace System.Windows.Controls
{ 
    /// <summary>
    /// Convert between boolean and visibility
    /// </summary>
    [Localizability(LocalizationCategory.NeverLocalize)] 
    public sealed class BooleanToVisibilityConverter : IValueConverter
    { 
        /// <summary> 
        /// Convert bool or Nullable&lt;bool&gt; to Visibility
        /// </summary> 
        /// <param name="value">bool or Nullable&lt;bool&gt;</param>
        /// <param name="targetType">Visibility</param>
        /// <param name="parameter">null</param>
        /// <param name="culture">null</param> 
        /// <returns>Visible or Collapsed</returns>
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
        { 
            bool bValue = false;
            if (value is bool) 
            {
                bValue = (bool)value;
            }
            else if (value is Nullable<bool>) 
            {
                Nullable<bool> tmp = (Nullable<bool>)value; 
                bValue = tmp.HasValue ? tmp.Value : false; 
            }
            return (bValue) ? Visibility.Visible : Visibility.Collapsed; 
        }

        /// <summary>
        /// Convert Visibility to boolean 
        /// </summary>
        /// <param name="value"></param> 
        /// <param name="targetType"></param> 
        /// <param name="parameter"></param>
        /// <param name="culture"></param> 
        /// <returns></returns>
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is Visibility) 
            {
                return (Visibility)value == Visibility.Visible; 
            } 
            else
            { 
                return false;
            }
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.

Ref: http://www.projky.com/dotnet/3.0/System/Windows/Controls/BooleanToVisibilityConverter.cs.html

下载地址:http://www.projky.com/dotnet/3.0/System/Windows/Controls/BooleanToVisibilityConverter.cs

BooleanToVisibilityConverter.cs

原文:http://www.cnblogs.com/zisezhixin/p/4263520.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!