WPF DataGrid RowDataBound?

发布于 2024-09-05 06:10:47 字数 329 浏览 6 评论 0原文

好吧,这让我发疯,我感觉自己像个新手。

我正在将 WPF Toolkit 中的 WPF DataGrid 控件与 .NET 3.5 结合使用。
Codeplex 上的链接位于此处

我想要一个与经典 GridView 的 RowDataBound 事件等效的事件,但我找不到任何事件。我尝试使用 LoadingRow,但每次滚动时它都会触发。

我正在尝试根据数据库值更改网格中某些单元格的背景颜色。
我是 WPF 新手。我应该使用 XAML 绑定吗?

Ok this is driving me mad, I feel like a total Newbie.

I'm using WPF's DataGrid control from WPF Toolkit with .NET 3.5.
Link on Codeplex here

I want an equivalent to the classic GridView's RowDataBound event, and I can't find any. I tried working with LoadingRow, but it fires every time I scroll.

I'm trying to change the background color of certain cells in my grid based on a database values.
I'm new to WPF. Should I be using the XAML binding?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

亢潮 2024-09-12 06:10:50

在 WPF 中执行此操作的适当方法是通过 Datatrigger

<DataTrigger Binding="{Binding Path=State}" Value="WA">
    <Setter Property="Foreground" Value="Red" />
</DataTrigger>  

理解为

UPDATE DataGrid
SET Foreground = 'Red'
WHERE State = 'WA';

The apt way of doing that in WPF is through Datatrigger

<DataTrigger Binding="{Binding Path=State}" Value="WA">
    <Setter Property="Foreground" Value="Red" />
</DataTrigger>  

that comprehends to

UPDATE DataGrid
SET Foreground = 'Red'
WHERE State = 'WA';
冷︶言冷语的世界 2024-09-12 06:10:50

我最终使用 EnableRowVirtualization="False" 禁用了 DataGrid 上的行虚拟化。这样,对于所有项目,LoadingRow 事件只会触发一次。

I ended up disabling row virtualization on the DataGrid using EnableRowVirtualization="False". That way, the LoadingRow event would fire only once for all items.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文