WP下数据绑定的数据模板,目标属性…

WP下数据绑定的数据模板,目标属性增加字符

如图,日期后面跟着的破折号就是额外加进去的

详细步骤:

1.建立一个类:

 public class Record
    {
       public DateTime Date { set; get; }//表示日期
       public decimal  Amount { set; get; }//金额
       public String CosumeType { set; get; }//消费类型
      public  String PayType { set; get; }//支付类型
      public  bool IsClaim { set;get;}//是否报销
      public  string Comment { set; get; }//备注
    }

2.建立一个集合类:

public class RecordCollection : ObservableCollection
    {
        public void InitializeTest()
        {
            Add(new Record() {Date=new DateTime(2013,7,9),Amount=20,CosumeType="娱乐",PayType="现金",IsClaim=false,Comment="...."});
            Add(new Record() {Date = new DateTime(2013, 8, 14),Amount = 78,CosumeType = "餐饮",PayType ="刷卡",IsClaim = true, Comment = "...." });
            Add(new Record() {Date=new DateTime(2013,4,6),Amount=14,CosumeType="购物",PayType="现金",IsClaim=false,Comment="...."});
        }
    }

3.在app.xaml的标签中添加模板标签

<Application.Resources>

<DataTemplate x:Key="ctRecords">
            <Border>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="2*"></ColumnDefinition>
                        <ColumnDefinition Width="1*"></ColumnDefinition>
                        <ColumnDefinition Width="1*"></ColumnDefinition>

                    </Grid.ColumnDefinitions>
                    <StackPanel Grid.Column="0" Orientation="Horizontal" Margin="10">
                        <TextBlock Text="{Binding  Date.Year, StringFormat= .-}"/>
                        <TextBlock Text="{Binding Date.Month, StringFormat= .-}" />
                        <TextBlock Text="{Binding Date.Day}" />
                    </StackPanel>
                    <TextBlock Grid.Column="1" Text="{Binding CosumeType}"  Margin="10"/>
                    <TextBlock Grid.Column="2" Text="{Binding Amount, StringFormat= $.元}"Margin="10"/>
                </Grid>
            </Border>
        </DataTemplate>
    </Application.Resources>
注意了,的Text属性是绑定的,关键是第二个参数StringFormat=.- 点号前如果加入字符就是在绑定值前加入字符串,如果在点号后,就是在绑定值后加入字符串。

 

4.在历史页面(History.xaml)加入一个listBox控件。设置属性为绑定属性:

 <ListBox ItemTemplate="{Binding Source={StaticResource ctRecords}}" ItemsSource="{Binding}" Height="200" HorizontalAlignment="Left" Margin="0,23,0,0" Name="lsbHistory" VerticalAlignment="Top" Width="460" FontSize="30" />

后台代码:

 public History()
        {
            InitializeComponent();
            //实例化集合类
            RecordCollection rc =new  RecordCollection();
            //调用其测试方法
            rc.InitializeTest();
            //ListBox的数据源
            lsbHistory.DataContext = rc;
        }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值