如何将 dataGrid1.CurrentCell(或其内容)作为参数传递给绑定到 dataGrid2.CellStyl
本文关键字:参数传递 绑定 CellStyl dataGrid2 dataGrid1 CurrentCell | 更新日期: 2023-09-27 18:34:06
我想知道是否有可能传递数据网格。CurrentCell(或其内容或数据网格本身(作为绑定到另一个数据网格的转换器的转换器参数。我正在尝试突出显示第二个 dg 的单元格,其中包含第一个 dg 的选定(当前(单元格中包含的值之一。到目前为止,我设法通过将它的 CellStyle(相对源自身(属性绑定到所述转换器来访问第二个数据网格的单元格。
更新:正如nit的帖子所建议的那样,我做了如下:
<Window.Resources>
<local:currentValsHLM x:Key="cellColorConverter" />...
<DataGrid x:Name="dataGrid2" AutoGenerateColumns="True">
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource cellColorConverter}">
<MultiBinding.Bindings>
<Binding RelativeSource="{RelativeSource Self}" />
<Binding Path="Row" /><!--Neeeded because previous bind datacell Content will be always (friggin) null -->
<!-- Here i would like to bind to datagrid1 holding the data to compare in the converter -->
</MultiBinding.Bindings>
</MultiBinding>
</Setter.Value>
</Setter>
<Setter Property="FontWeight">
<Setter.Value>
<MultiBinding Converter="{StaticResource cellColorConverter}">
<MultiBinding.Bindings>
<Binding RelativeSource="{RelativeSource Self}" />
<Binding Path="Row" />
<!-- Same as above -->
</MultiBinding.Bindings>
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</DataGrid.CellStyle>
</DataGrid>
MultiBinding.Bindings部分缺少转换器应该知道的数据((字符串(dataGrid1.CurrentCell.Content(,以选择哪些单元格需要突出显示,哪些不需要突出显示。有没有办法获取这些数据?
更新2:和....做到了!(好吧,愚蠢的(答案是<Binding ElementName="dataGrid1" />
.有了CurrentItem[CurrentColumn.Header],我终于可以保存(并挤压(我需要的数据了。给我万岁!
注意:这太不可思议了!到目前为止,第一个绑定确实提供了对 datagrid2 的当前 DataGridCell 的引用,其内容始终为空(因此无用(,因此我需要第二个绑定来访问真实数据。现在,点空白,WPF(代号BTCH(发送到转换器对象,填充有实际值(实际值(。现在我明白了所有帖子说"为什么在我的朋友系统上 xaml 在工作,而它不在我的系统上!
ConverterParameter 不支持绑定。尝试使用多重绑定绑定到所需的属性(网格的选定项或网格的当前单元格内容(,并使用 IMultiValueConverter 对属性进行多重绑定