XAML 学习(6)

XAML文件

<Window x:Class="WindowsApp1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:c="clr-namespace:WindowsApp1"
    Title="WindowsApp1" Height="300" Width="300"
    >
  <Window.Resources>
    <c:Students x:Key="StudentData"/>

    <Style TargetType="{x:Type ListBoxItem}">
      <Style.Triggers>
        <DataTrigger Binding="{Binding Path=Name}" Value="A">
          <Setter Property="Foreground" Value="Red" />
        </DataTrigger>

        <MultiDataTrigger>
          <MultiDataTrigger.Conditions>
            <Condition Binding="{Binding Path=Name}" Value="C" />
            <Condition Binding="{Binding Path=Remark}" Value="0003" />
          </MultiDataTrigger.Conditions>
          <MultiDataTrigger.Setters>
            <Setter Property="Background" Value="Cyan" />
          </MultiDataTrigger.Setters>
        </MultiDataTrigger>
       
      </Style.Triggers>
    </Style>
    <DataTemplate DataType="{x:Type c:Student}">
      <Canvas Width="160" Height="20">
        <TextBlock FontSize="12"
        Width="130" Canvas.Left="0" Text="{Binding Path=Name}" />
        <TextBlock FontSize="12"
          Width="30" Canvas.Left="130" Text="{Binding Path=Remark}"/>
      </Canvas>
    </DataTemplate>
  </Window.Resources>

  <StackPanel>
    <ListBox Width="180" HorizontalAlignment="Center" Background="Honeydew"
      ItemsSource="{StaticResource StudentData}"/>
  </StackPanel>
</Window>

类文件:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Collections.ObjectModel;

namespace WindowsApp1
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>

    public partial class Window1 : System.Windows.Window
    {

        public Window1()
        {
            InitializeComponent();
        }

    }


    public class Student
    {
        private string _name;
        private string _remark;

        public string Name
        {
            set
            {
                _name = value;
            }

            get
            {
                return _name;
            }
        }

        public string Remark
        {
            set
            {
                _remark = value;   
            }
            get
            {
                return _remark;
            }
        }

        public Student(string name, string remark)
        {
            this._name = name;
            this._remark = remark;
        }
    }

    public class Students : ObservableCollection<Student>
    {
        public Students()
        {
            Add(new Student("A","0001"));
            Add(new Student("B","0002"));
            Add(new Student("C","0003"));
            Add(new Student("D","0004"));
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值