0

我正在尝试根据另一种样式的内容设置只读单元格样式。这在 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 无法解析样式属性“IsReadOnly”。验证所属类型是否为 Style 的 TargetType,或使用 Class.Property 语法来指定 Property。

有任何想法吗?谢谢。

4

2 回答 2

0

As far as I know you can't set IsReadOnly individually on cells, you can only set it on the whole column. Try setting IsReadOnly="True" directly on the DataGridTemplateColumn.

于 2011-04-05T14:47:36.367 回答
0

您应该在 Style 中设置 TargetType,如下所示:

<DataGridTemplateColumn.CellStyle>
      <Style TargetType="{x:Type FrameworkElement}">
          ....
     </Style>
</DataGridTemplateColumn.CellStyle>
于 2012-10-14T11:52:00.250 回答