天天看點

silverlight中Combox綁定資料以及動态綁定預設標明項的用法

在Sliverlight中,經常要用到下拉框Combox,然而Combox的資料綁定卻是一件令初學者很頭疼的事情。今天就來總結一下下拉框的使用方法:

下面寫一個簡單的例子吧。先寫一個日期的Model,代碼如下:

這裡就用簡單的MVVM模式,再寫一個DateViewModel,代碼如下:

在類的構造函數中,初始化所有的月份,以便綁定到前台。到這裡背景代碼寫完了,下面開始綁定下拉框,下面是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          預設標明的項,可根據綁定的值改變

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