zoukankan      html  css  js  c++  java
  • WPF-数据转换

    有时我们展现的数据,需要进行转换,比如如果一个学生的成绩过了60,我们显示一个Pass的图片。

    XAML:

    <Window x:Class="DeepXAML.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:DeepXAML"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    Title="MainWindow" Height="250" Width="450">
    <Window.Resources>
             <local:ScoreToImageConverter x:Key="sti"></local:ScoreToImageConverter>
    </Window.Resources>
    <StackPanel>
    <ListBox x:Name="listBoxStudents" Margin="10">
    <ListBox.ItemTemplate>
                     <DataTemplate>
    <StackPanel Orientation="Horizontal">
    <TextBlock Text="{Binding Path=Name}"></TextBlock>
                             <Image Source="{Binding Path=Score,Converter={StaticResource sti}}" Height="20"></Image>
    </StackPanel>
    </DataTemplate>
    </ListBox.ItemTemplate>
    </ListBox>
    </StackPanel>
     </Window>

    后台代码:

    using System;
    using System.Collections.Generic;
    using System.Windows;
    using System.Windows.Data;
    using System.Windows.Documents;
     namespace DeepXAML

     {
    public partial class MainWindow : Window
    {
    public MainWindow()
             {
    InitializeComponent();
                 List<Student> students = new List<Student>{
                  new Student{ Name="Jack", Score=90},
                   new Student{Name="Tom", Score=30},
                   new Student{ Name="David", Score=80}
                 };
                 this.listBoxStudents.ItemsSource = students;
             }

         }
         public class Student
         {
    public string Name { get; set; }
             public double Score { get; set; }
    }
         public class ScoreToImageConverter : IValueConverter
         {
    public object Convert(object value, Type targetType, object parameter,
    System.Globalization.CultureInfo culture)
    {
    double score = (double)value;
                 return score >= 60 ? @"imagespass.gif" : @"images opass.gif";
             }

             public object ConvertBack(object value, Type targetType, object parameter,
    System.Globalization.CultureInfo culture)
    {
                 throw new NotImplementedException();
    }
         }
    }

  • 相关阅读:
    abap开发报表的简单过程
    有关innerHTML的知识
    MS SQL中的return&output的學習
    js获取下拉列表选中项的值和文本(select)以及获取单选按钮(radio)组的值和修改选中项[转]
    ASP.NET AJAX Control Toolkit
    VB.net下有个函数strconv可以进行简体繁体转换
    JavaScript:prototype属性使用说明
    [转]一份ASP内存的释放的实验报告
    什么是 Virtual Machine Additions(虚拟机附加安装模块)?
    Trigger&Procedure的應用
  • 原文地址:https://www.cnblogs.com/sjqq/p/6626036.html
Copyright © 2011-2022 走看看