WPF DataGridTemplateColumn IsReadOnly不可用于CellStyle?

时间:2011-04-05 14:25:19

标签: wpf xaml datagridtemplatecolumn

我试图根据另一种风格的内容设置一个只读的单元格样式。这在XAML中是否可行,似乎微不足道,但我的代码失败了。

<dg:DataGridTemplateColumn Header="Schedule" CanUserSort="True">
    <dg:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <DatePicker DisplayDate="{Binding myschedule}" SelectedDate="{Binding myschedule}" >
            </DatePicker>
        </DataTemplate>
    </dg:DataGridTemplateColumn.CellTemplate>
    <dg:DataGridTemplateColumn.CellStyle>
        <Style>
            <Style.Triggers>
                <DataTrigger Binding="{Binding boundname}" Value="testsiteshouldbereadonly">
                    <Setter Property="IsReadOnly" Value="True" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </dg:DataGridTemplateColumn.CellStyle>
</dg:DataGridTemplateColumn>

我收到以下错误;

  

错误18无法解析伴奏   财产&#39; IsReadOnly&#39;。验证   拥有类型是Style的TargetType,   或使用Class.Property语法   指定属性。

有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:0)

据我所知,你不能在单元格上单独设置IsReadOnly,你只能在整个列上设置它。 尝试直接在DataGridTemplateColumn上设置IsReadOnly =“True”。

答案 1 :(得分:0)

你应该在Style中设置TargetType,像这样:

<DataGridTemplateColumn.CellStyle>
      <Style TargetType="{x:Type FrameworkElement}">
          ....
     </Style>
</DataGridTemplateColumn.CellStyle>