silverlight中Combox绑定数据以及动态绑定默认选定项的用法

在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<Date> Months { get; set; }
public string currMonth { get; set; }

public DateViewModel()
{
Months = new List<Date>();
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        
 默认选定的项,可根据绑定的值改变

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

时间: 2024-08-04 05:55:31

silverlight中Combox绑定数据以及动态绑定默认选定项的用法的相关文章

winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中

for (int i = 0; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["CheckBoxCulums"].Value = this.checkBox1.Checked; } winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中,布布扣,bubuko.com

关于JQuery中$.data绑定数据原理或逻辑

问题: JQuery中,对于.data([key],[value])函数,当使用其进行数据绑定时,假设要绑定的数据是“引用数据类型”,也就是对象:那么.data函数绑定的是该对象的副本还是该对象的一个引用?下面通过以下小例子来测试下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Test<

mysql语句中----删除表数据drop、truncate和delete的用法

程度从强到弱 1.drop  table tb drop将表格直接删除,没有办法找回 2.truncate (table) tb 删除表中的所有数据,不能与where一起使用 3.delete from tb (where) 删除表中的数据(可制定某一行) 区别:truncate和delete的区别 1.事务:truncate是不可以rollback的,但是delete是可以rollback的: 原因:truncate删除整表数据(ddl语句,隐式提交),delete是一行一行的删除,可以rol

Combox绑定数据

private void button3_Click(object sender, EventArgs e)        {            string sql = "select dname,did from department"; SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=hem09;User ID=sa;Password=123456");

JqueryEasyUI中combox的数据不显示

在做一个用jeasyui做的项目中遇到一个问题,对应的数据取出来了但是数据项一直出不来后来经过检查原来是赋值的时候对应的数组元素的名称写的有问题,以后一定要注意对应的问题,不能犯类似的错误 function loadData() {        $('#ipt_pfuncid').combobox({            data: <%=menustr %>,            textField: 'CnName',            valueField: 'Codeid' 

combox 绑定数据

/// <summary> /// 绑定combox 按顺序填写value.member 示例:InitCombox.BindCombox(cbxStatus,"1","启用","0","禁用"); /// </summary> /// <param name="box"></param> /// <param name="valueMembe

DropDrownList绑定数据后设置默认值

Category.DataSource = b_ProductType.GetAllList().Tables[0]; Category.DataTextField = "TypeName"; Category.DataValueField = "ID"; Category.DataBind(); Category.Items.Insert(0, new ListItem("-请选择-", "")); //Category.I

SQL语句中----删除表数据drop、truncate和delete的用法

一.SQL中的语法 1.drop table 表名称                         eg: drop table  dbo.Sys_Test 2.truncate table 表名称                     eg: truncate  table dbo.Sys_Test   3.delete from 表名称 where 列名称 = 值      eg: delete from dbo.Sys_Test where test='test' 二.drop,tru

vue中如何实现数据的双向绑定

vue中如何实现数据的双向绑定 实现视图变化数据跟着变:分两步,上面get中的为第二步(即再次读取的时候会调用get方法得到之前设置的值,以此来实现动态改变) 由于直接写obj.name = this.value;会导致循环调用set方法,所以要借助中间对象的形式把值赋给中间对象,获取obj.name的时候我们获取中间对象的最新值即可 let obj = {name:'zhufeng',age:9};//数据 let temp = {name:"lily"};//借助中间对象 let