【发布时间】:2011-05-28 19:31:18
【问题描述】:
我有一个这样的数据网格:
<DataGrid AutoGenerateColumns="False" CanUserDeleteRows="True"
HorizontalScrollBarVisibility="Hidden" Margin="10,10,10,10"
VerticalScrollBarVisibility="Visible"
CanUserAddRows="False" ItemsSource="{Binding ListGestores}"
ToolTip="Selecione uma linha e pressione DELETE para remover uma unidade.">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding TB_UNIDADE.DS_NOME_UNIDADE}" CanUserResize="False" Header="Setor" IsReadOnly="True" x:Name=""/>
<DataGridTextColumn Binding="{Binding TB_UNIDADE.TB_UNIDADE2.DS_NOME_UNIDADE}" CanUserResize="False" Header="Unidade" IsReadOnly="True" x:Name=""/>
<DataGridTextColumn Binding="{Binding TB_CONTATOS.DS_NOME}" CanUserResize="False" Header="Gestor" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
问题是我需要验证2列绑定是否为null,如果为null,我需要隐藏它,并更改第1列的标题。
我知道我可以使用触发器来做到这一点,但究竟如何? 我开始了:
<DataGrid.Triggers>
<DataTrigger Binding="{Binding TB_UNIDADE.TB_UNIDADE2}" Value="{x:Null}">
<Setter Property="" Value="" />
</DataTrigger>
</DataGrid.Triggers>
但我不知道该放什么二传手或其他什么!
帮帮我=]
【问题讨论】:
-
好的 - 所以如果其中没有数据,您想隐藏一列 - 在所有行中还是什么? @decyclone:您提出的解决方案假设小对象位于数据网格本身的数据上下文中 - 我认为如果使用相对绑定向上遍历,这将起作用,但我不确定这是否是问题所在。如果是当该列的所有行都为空时,我将使用(相对源)绑定到 datagrid.Itemssource 的可见性,其中 valueconverter 贯穿所有项目 - 不是那么轻量级 - 或者我会在更新时在代码中执行此操作。
标签: wpf binding wpfdatagrid