(在问及之前,我已经远远地看了Q& A,但请原谅,如果它已经在其他地方了,我就错过了。)
我只是想做一些看似简单的事情......尝试将telerik:GridViewSelectColumn
中的telerik:RadGridView
中的各个复选框映射到映射为的实体的相应布尔属性每一行。
<telerik:RadGridView x:Name="MyGridView" ItemsSource="{Binding MyGridViewItems, Mode=TwoWay}" SelectionMode="Extended" AutoGenerateColumns="False">
<telerik:RadGridView.Columns>
<telerik:GridViewSelectColumn Name="MyCheckBoxColumn">
<telerik:GridViewSelectColumn.CellTemplate>
<DataTemplate>
<CheckBox Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:GridViewDataControl}}, Path=DataContext.IncludeChangedCommand}" CommandParameter="{Binding}" IsChecked="{Binding MyBooleanProperty, Mode=TwoWay}" />
</DataTemplate>
</telerik:GridViewSelectColumn.CellTemplate>
</telerik:GridViewSelectColumn>
.
.
.
</telerik:RadGridView.Columns>
</telerik:RadGridView>
如何将MyBooleanProperty
映射到每个复选框?
答案 0 :(得分:1)
如果要将CheckBox
绑定到数据对象的属性,则应使用GridViewCheckBoxColumn
或GridViewDataColumn
:
<telerik:GridViewDataColumn Name="MyCheckBoxColumn">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<CheckBox Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:GridViewDataControl}}, Path=DataContext.IncludeChangedCommand}"
CommandParameter="{Binding}"
IsChecked="{Binding MyBooleanProperty, Mode=TwoWay}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
GridViewSelectColumn
不绑定数据。它只是允许您选择给定的行。
答案 1 :(得分:0)
有一个解决方案,因为您具有布尔变量MyBooleanProperty
,并且想要将其与列表中的每个项目进行映射。
因此,您可以做的是在包装类本身List<YourClass>
类会是这样的
class Yourclass
{
bool ItemBool;
}
现在,当您分配列表时,只需执行linq
并根据您的条件分配ItemBool