【发布时间】:2012-10-16 13:46:11
【问题描述】:
我遇到了 Silverlight DataGrid 的奇怪问题。
当我将结构列表(放置在ViewModel)绑定到网格值时,网格值会正确显示,但由于某种原因,对网格所做的更改不会反映在ViewModel 中。
public struct ObjectSelection
{
public bool Selected { get; set; }
public string Name { get; set; }
}
public List<ObjectSelection> SelectedObjects
{
get { return _selectedObjects; }
set
{
if (value != _selectedObjects)
{
_selectedObjects= value;
FirePropertyChanged("SelectedObjects");
}
}
}
XAML:
<navigation:DataGrid AutoGenerateColumns="False" ItemsSource="{Binding SelectedObjects, Mode=TwoWay}"
<navigation:DataGrid.Columns>
<navigation:DataGridFilterTemplateColumn Header="Selected"
CanUserFilter="True"
CanUserSort="False"
DataType="Boolean"
SortMemberPath="Include">
<navigation:DataGridFilterTemplateColumn.CellTemplate>
<DataTemplate>
<controls:CheckBox HorizontalAlignment="Center"
VerticalAlignment="Center"
IsChecked="{Binding Selected, Mode=TwoWay}"/>
</DataTemplate>
</navigation:DataGridFilterTemplateColumn.CellTemplate>
</navigation:DataGridFilterTemplateColumn>
<navigation:DataGridFilterColumn Header="Dimension"
DataType="String"
CanUserFilter="False"
IsReadOnly="True"
Binding="{Binding Name}"
CanUserSort="True"
SortMemberPath="Name"
Width="*"/>
</navigation:DataGrid.Columns>
</navigation:DataGrid>
【问题讨论】:
标签: silverlight xaml data-binding struct