WPF Silverlight Visibility 属性的绑定

Silverlight 控件的Visibility属性不能直接用true或者false绑定,而是要通过一个Converter来实现:

 

VisibilityConverter类代码:

[c-sharp] view plain copy
  1. using System;  
  2. using System.Windows;  
  3. using System.Windows.Data;  
  4.   
  5. namespace DMS.Controls  
  6. {  
  7.     public class VisibilityConverter:IValueConverter  
  8.     {  
  9.         public VisibilityConverter()  
  10.         {  
  11.         }  
  12.         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)  
  13.         {  
  14.             if (value == null)  
  15.                 return Visibility.Collapsed;  
  16.   
  17.             bool s = (bool)value;  
  18.   
  19.             return (s != true) ? Visibility.Collapsed : Visibility.Visible;  
  20.         }  
  21.   
  22.         public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)  
  23.         {  
  24.             throw new NotImplementedException();  
  25.         }  
  26.   
  27.     }  
  28. }  

 

在XAML里引用这个类:

[c-sharp] view plain copy
  1.  "False" Height="284" HorizontalAlignment="Left" Margin="5,63,0,0" Name="OrderList" VerticalAlignment="Top" Width="798" ItemsSource="{Binding}">  
  2.                                                           
  3.                                                             "iconverter"/>  
  4.                                                           
  5.                                                           
  6.                                                             "按钮是否可见示范绑定" Width="Auto">  
  7.                                                                   
  8.                                                                       
  9.                                                                         "Horizontal" HorizontalAlignment="Left">  
  10.                                                                             "Auto" Text="订单类别:"/>  
  11.                                                                             "XSJX_Confirm" Content="确认订单" Visibility="{Binding Path=XSJL_VISABLE,Converter={StaticResource iconverter}}"/>  
  12.                                                                           
  13.                                                                       
  14.                                                                   
  15.                                                               
  16.   
  17.   
  18.                                                              

 

其中: XSZJ_VISABLE 是bool 类型,= true 按钮可见;=false 按钮不可见,通过VisibilityConverter转成

Visibility.Collapsed 或 Visibility.Visible。

你可能感兴趣的:(WPF技术类)