zoukankan      html  css  js  c++  java
  • wpf convert

    1.先来个最常用的 bool 转 Visible

     xmlns:local="clr-namespace:KTVClient.Modules.Main.VMMBase.PublicViewModel;assembly=KTVClient.Modules.Main.VMMBase"     >

        <local:BoolVisible x:Key="converter" />

     Visibility="{Binding IsShowing, Converter={StaticResource ResourceKey=converter}">

    public class BoolVisible : IValueConverter     {

            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)      

       {           

      bool visible = (bool) value;        

         if (visible != null)          

           return visible ? "Visible" : "Collapsed";       

          else                 return "Collapsed";                

        }

            public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)         {         

        return null;    

         }  

       }

    或是用  <BooleanToVisibilityConverter x:Key="boolToVis"/> 试试

    XAML代码:

    复制代码
    <Window x:Class="WpfApplication4.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:local="clr-namespace:WpfApplication4"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <local:BoolVisible x:Key="converter"/>
        </Window.Resources>
        <Grid>
            <Button x:Name="btnDemo" Width="100" Height="50" Visibility="{Binding IsVisible,Converter={StaticResource ResourceKey=converter}}" Command="{Binding ClickCommand}"/>
        </Grid>
    </Window>

    ViewModel代码:

    复制代码
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Input;
    
    namespace WpfApplication4
    {
        public class MainWindowsViewModel:NotifyObject
        {
            #region << Property >>
            public bool IsVisible
            {
                get { return GET(() => IsVisible); }
                set { SET(() => IsVisible, value); }
            }
    
            public ICommand ClickCommand { get; set; }
            #endregion
            #region << Constructor >>
            public MainWindowsViewModel()
            {
                IsVisible = true;
                ClickCommand = new DeletegateCommand(Click);
            }
            #endregion
    
            #region << Method >>
            public void Click()
            {
                IsVisible = false;           
            }
            #endregion
    
        }
    }
    复制代码

    Converter的实现代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Data;
    
    namespace WpfApplication4
    {
        public class BoolVisible:IValueConverter
        {
            #region << Method >>
            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                bool visible = (bool)value;
    
                if (visible != null)
                    return visible ? "Visible" : "Hidden";
                else
                    return "Hidden";
            }
    
            public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                return null;
            }
            #endregion
        }
    }




    转载http://www.cnblogs.com/qiurideyun/archive/2013/02/15/2912929.html
     
     
     
     
     
     
     
  • 相关阅读:
    Heritrix源码分析(三) 修改配置文件order.xml加快你的抓取速度
    Heritrix源码分析(四) 各个类说明(二)
    Heritrix源码分析(二) 配置文件order.xml介绍
    Error running Tomcat 6: Address localhost:8080 is already in use
    NLP常用开源/免费工具
    Error: Read from storage 0 bytes, but requested 12 bytes 的解决方法
    Inproc 和 Outproc 的区别
    最搞怪面试问题TOP10:你也来试试看 (大家一起来做题)
    [废弃]想写一个玩魔方的游戏
    C++template中typename 和class有什么区别?
  • 原文地址:https://www.cnblogs.com/aggierwyp/p/wpfconvert.html
Copyright © 2011-2022 走看看