我的RadGridView具有绑定的这个DataTemplate:
<DataTemplate x:Key="StatusTemplate">
<local:StatusIndicator Style="{StaticResource StatusIndicator}" IsEnabled="{Binding}" />
</DataTemplate>
我在GridViewDataColumn上这样使用它,我在其中绑定 ItemsSource 中的布尔值:
<telerik:GridViewDataColumn DataMemberBinding="{Binding Enabled}" CellTemplate="{StaticResource StatusTemplate}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Connected}" CellTemplate="{StaticResource StatusTemplate}" />
但是分配给 DataMemberBinding 的 Enabled 和 Connected 属性不起作用,
答案 0 :(得分:1)
恐怕您将无法在两个列中使用相同的DataTemplate
。绑定路径不能“注入”到XAML的模板中,这意味着将需要为每个列创建具有特定绑定路径的唯一DataTemplate
:
<telerik:GridViewDataColumn DataMemberBinding="{Binding Enabled}">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<local:StatusIndicator Style="{StaticResource StatusIndicator}" IsEnabled="{Binding Enabled}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Connected}">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<local:StatusIndicator Style="{StaticResource StatusIndicator}" IsEnabled="{Binding Connected}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
如果DataTemplate
比较复杂,则可以考虑创建模板并以编程方式替换绑定路径: