2010-12-23 144 views
0

我遇到了一些问题。我创建了一个DataTemplate并将它放到App.xaml中,我想用它来在我有十几个ListView中设置我的CheckBox。特定的ListView每个都至少有一个带有bool值的列。WPF - 如何绑定DataTemplate中的项目?

这里是我做了的DataTemplate:

<DataTemplate x:Key="checkBoxDataTemplate"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 

     <CheckBox Grid.Column="0" Grid.Row="0" Style="{StaticResource DataGridCheckBox}" IsChecked="{WhatDoIPutHere?}" /> 
    </Grid> 
</DataTemplate> 

而且我想用它来代替这个:

<GridViewColumn Header="Discovery Date"> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <CheckBox Grid.Column="0" Grid.Row="0" Style="{StaticResource DataGridCheckBox}" IsChecked="{Binding CaseProperty.DiscoveryDate, Mode=OneWay, Converter={StaticResource booleanConverter},ConverterParameter='datetime'}" /> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 

正如你所看到的,我已经器isChecked绑定到特定属性一个附加到我的ListView的对象。如果我用我的模板替换它,如何绑定到DataTemplate中的CheckBox的IsChecked属性?

由于提前,
桑尼

+2

我看不出为什么你的绑定应该改变,因为模板的实例绑定到相同的东西。 – 2010-12-23 01:35:21

回答

-1

我已经放弃了这种方法。我不认为DataTemplates被设计为以这种方式工作...哦,以及...

0

你可以试试这个方法:

<CheckBox Grid.Column="0" Grid.Row="0" Style="{StaticResource DataGridCheckBox}" 
      IsChecked="{Binding}" /> 

,然后设置相应的DataContext