WPF DataGridTemplateColumn IsReadOnly 对于 CellStyle 不可用?

发布于 2024-10-30 16:09:25 字数 1069 浏览 5 评论 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 无法解析样式 属性“只读”。验证 所属类型是 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花开半夏魅人心 2024-11-06 16:09:25

据我所知,您不能在单元格上单独设置 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.

蓝天白云 2024-11-06 16:09:25

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

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

You should set TargetType in the Style,Something Like this:

<DataGridTemplateColumn.CellStyle>
      <Style TargetType="{x:Type FrameworkElement}">
          ....
     </Style>
</DataGridTemplateColumn.CellStyle>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文