博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
silverlight中Combox绑定数据以及动态绑定默认选定项的用法
阅读量:6572 次
发布时间:2019-06-24

本文共 1893 字,大约阅读时间需要 6 分钟。

在Sliverlight中,经常要用到下拉框Combox,然而Combox的数据绑定却是一件令初学者很头疼的事情。今天就来总结一下下拉框的使用方法:

下面写一个简单的例子吧。先写一个日期的Model,代码如下:

public class Date   {      public string DateName { get; set; }      public string DateValue { get; set; }      public Date()      {      }      public Date(string name, string value)      {         this.DateName = name;         this.DateValue = value;      }   }

这里就用简单的MVVM模式,再写一个DateViewModel,代码如下:

public class DateViewModel   {      public List
Months { get; set; } public string currMonth { get; set; } public DateViewModel() {
Months = new List
(); for (int i = 1; i <= 12; i++) { Months.Add(new Date(i+"month",i.ToString())); } currMonth = "3"; } }

在类的构造函数中,初始化所有的月份,以便绑定到前台。到这里后台代码写完了,下面开始绑定下拉框,下面是XAML代码:

<UserControl x:Class="SilverlightMVVM.MainPage"

  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:local="clr-namespace:Silverlight.ViewModel"
  mc:Ignorable="d"
  d:DesignHeight="300" d:DesignWidth="400">
<UserControl.Resources>
  <local:DateViewModel x:Key="DateVM" />
</UserControl.Resources>

<Grid x:Name="LayoutRoot" Background="White" DataContext="{Binding Source={StaticResource DateVM}}">

  <ComboBox ItemsSource="{Binding Months}"
      SelectedValuePath="DateValue"
      DisplayMemberPath="DateName"
      SelectedValue="{Binding currMonth}"
      Height="23"
      Name="comboBox1"
      Width="120" />
</Grid>
</UserControl>

注意代码中标红的地方,xmlns:local="clr-namespace:Silverlight.ViewModel",这里引入命名空间。

然后绑定到Grid的DataContext上面。

DisplayMemberPath   就是下拉框显示的内容

SelectedValuePath    就是下拉框的Value值

SelectedValue          默认选定的项,可根据绑定的值改变

至此,下拉框的绑定就完成了。

 

转载地址:http://qrojo.baihongyu.com/

你可能感兴趣的文章
Fragment与FragmentActivity通信封装
查看>>
飘逸的python - yield简明教程
查看>>
sql查询重复记录、删除重复记录方法大全
查看>>
hdu1711 Number Sequence
查看>>
js如何判断一组数字是否连续,得到一个临时数组[[3,4],[13,14,15],[17],[20],[22]];
查看>>
PHP利用memcache缓存技术提高响应速度
查看>>
python 多线程笔记(2)-- 锁
查看>>
EXT--表单AJax提交后台,返回前端数据格式的转换
查看>>
个人作品- 蘑菇大战
查看>>
protobuf使用错误总结
查看>>
Tomcat可以在eclipse里启动,可是不能訪问首页的问题
查看>>
QueryPerformanceFrequency使用方法--Windows高精度定时计数
查看>>
在Linux环境下安装和配置phpmyadmin
查看>>
Co-prime Array&&Seating On Bus(两道水题)
查看>>
该行已经属于另一个表 的解决方法
查看>>
linux下bus、devices和platform的基础模型 【转】
查看>>
如何优雅的使用RabbitMQ
查看>>
js json 对象相互转换
查看>>
jQuery中click事件多次触发解决方案
查看>>
java IO
查看>>