zoukankan      html  css  js  c++  java
  • Silverlight数据绑定转换示例

     <Grid x:Name="LayoutRoot" Background="White">
    <Grid.Resources>
    <local:ColorConverter x:Key="ColorConverter"></local:ColorConverter>
    </Grid.Resources>

    <Ellipse Width="300" Height="200" Fill="{Binding Status,Converter={StaticResource ColorConverter},Mode=TwoWay}"></Ellipse>

    </Grid>
    public enum TrafficStatus
    {
    Stop,Ready,Go
    }

    public class TrafficLight : INotifyPropertyChanged
    {
    public event PropertyChangedEventHandler PropertyChanged;
    public TrafficStatus Status
    {
    get { return status; }
    set
    {
    status = value;
    if (PropertyChanged != null)
    {
    PropertyChanged(this, new PropertyChangedEventArgs("status"));
    }
    }
    }

    private TrafficStatus status;
    }

    public class ColorConverter : IValueConverter
    {
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
    TrafficStatus status = (TrafficStatus)value;
    SolidColorBrush brush = new SolidColorBrush(Colors.Red);
    switch (status)
    {
    case TrafficStatus.Stop:
    break;
    case TrafficStatus.Ready:
    brush = new SolidColorBrush(Colors.Orange);
    break;
    case TrafficStatus.Go:
    brush = new SolidColorBrush(Colors.Green);
    break;
    default:
    break;
    }
    return brush;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
    return null;
    }
    }


            private void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
    TrafficLight traffic = new TrafficLight()
    {
    Status = TrafficStatus.Stop
    };
    this.DataContext = traffic;
    }

    Silverlight数据绑定转换.rar

  • 相关阅读:
    用算法合并数组
    Redis各个数据类型的使用场景
    seesion工作原理
    自删除道指令程序
    uva 1335
    《生活在Linux中》之:使用Bash就是使用Emacs
    手动配置S2SH三大框架报错(三)
    数据和C
    IOS之【地图MapKit】
    我工作这几年(五)-- Android学习4.5月总结(一)
  • 原文地址:https://www.cnblogs.com/zhangtao/p/2347501.html
Copyright © 2011-2022 走看看