在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 預設標明的項,可根據綁定的值改變
至此,下拉框的綁定就完成了。