對於模糊的描述,我想不出一個更好的方式來表達它。如何將一組項目綁定到複選框的列表框?
比方說,我的ViewModel有一個屬性如下:
public List<MyClass> SubSystems { get; set; }
和子系統類:
public class SubSystem
{
public string Name { get; set; }
public bool IsSelected { get; set; }
}
在視圖中,我想給SubSystems
屬性綁定,什麼我認爲會是一個複選框列表,CheckBox的IsChecked和Name屬性綁定到它們各自的屬性,IsSelected for IsSelected和Content for Name。
我知道我可以做一個列表框在XAML,但我不知道我怎麼會去這樣做使用綁定和集合..
感謝您的幫助!
編輯 -
這裏的XAML:
<GroupBox Header="Sub-Systems" Grid.Column="0" Grid.Row="0" Margin="5">
<Grid>
<Grid.Resources>
<DataTemplate x:Key="checkBox">
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsSelected}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</Grid.Resources>
<ListBox ItemTemplate="{StaticResource checkBox}" ItemsSource="{Binding SubSystems}" />
</Grid>
</GroupBox>
編輯#2 -
只是爲了澄清,所有的例子填充盒,但沒有一個例子是上破制定者的斷點。
如果您的SubSystem對象在其他地方更改,您還需要NotifyPropertyChanged,它應該通知CheckBox它已更改,因此CheckBox可以自行更新。 – Carlo 2010-07-30 19:31:31