WPF DataGridTemplateColumn IsReadOnly 对于 CellStyle 不可用?
我试图根据另一种样式的内容设置只读单元格样式。这在 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 无法解析样式 属性“只读”。验证 所属类型是 Style 的 TargetType, 或使用 Class.Property 语法 指定属性。
有什么想法吗?谢谢。
I'm trying to set an cellstyle of readonly depending the contents of another style. Is this possible in XAML, seems trivial yet my code fails.
<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>
I get the following error;
Error 18 Cannot resolve the Style
Property 'IsReadOnly'. Verify that the
owning type is the Style's TargetType,
or use Class.Property syntax to
specify the Property.
Any ideas? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
据我所知,您不能在单元格上单独设置 IsReadOnly,只能在整个列上设置它。
尝试直接在 DataGridTemplateColumn 上设置 IsReadOnly="True"。
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.
您应该在 Style 中设置 TargetType,如下所示:
You should set TargetType in the Style,Something Like this: