我正在试图弄清楚如何将DataGrid模板列的可行性绑定到可观察集合,该集合是数据网格的datacontext。注意:虽然我是初学者,所以你可能需要像10年前的那样解释......
我知道这与stackoverflow有关,但我似乎仍然无法理解。
我在转换器中有一个断点但是当数据添加到observable集合时它永远不会被击中...
我希望这是有道理的...... 非常感谢
<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>
答案 0 :(得分:0)
我会加入问题下方的讨论,但我没有足够的意义去做。
我很确定Path=FrameworkElement.DataContext
是问题所在。转换器需要一个布尔值,但却得到一个DataContext。
我希望DataContext本身中的bool
类型的属性可以使用转换器绑定可见性。
在窗口资源中定义转换器就好了。