0

我试图弄清楚如何将 DataGrid 模板列的可行性绑定到作为数据网格的数据上下文的可观察集合。注意:虽然我是这个东西的初学者,所以你可能需要像对一个 10 岁的孩子一样解释......

我知道这与这个stackoverflow有关,但我似乎仍然无法让它去。

我在转换器中有一个断点,但是当将数据添加到可观察集合时它永远不会被击中......

我希望这是有道理的......非常感谢

                    <DataGrid AutoGenerateColumns="False" AlternatingRowBackground="LightBlue" ItemsSource="{Binding historyColl}" Margin="0,75,6,26" Name="historyDataGrid" FontSize="12" HorizontalAlignment="Right" Width="381">
                    <DataGrid.Columns>
                        <DataGridTemplateColumn Header="Date (dd-mm)" Width="80*">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Date}" Background="{Binding Converter={StaticResource TradedBackground}}"/>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>

                        <DataGridTemplateColumn Header="Test" Width="50" Visibility="{Binding RelativeSource={x:Static RelativeSource.Self}, 
                                Path=FrameworkElement.DataContext, Converter={StaticResource booleanToVisiblityConverter}}">
                           <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Test}"/>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>

                    </DataGrid.Columns>
                </DataGrid>
4

1 回答 1

0

我会加入问题下方的讨论,但我没有足够的分数来这样做。我很确定这Path=FrameworkElement.DataContext是问题所在。转换器需要一个布尔值,但取而代之的是一个 DataContext。

我希望boolDataContext 本身有一个类型的属性,您可以使用转换器将可见性绑定到该属性。

在窗口资源中定义转换器就好了。

于 2012-09-18T12:40:10.037 回答