2016-11-16 55 views
0

我試圖向用戶展示一些並不那麼重要的數據網格列,只有當有足夠的空間(整個程序的寬度)可用時。所以我想要將列的可見性與轉換器的datagrid實際綁定。 我所有的轉換器,我寫的都很好,但在這種情況下什麼都沒有發生,意味着沒有轉換器的調用。我檢查了我的調試日誌。DataGridColumn - 如何將可見性綁定到DataGrid的寬度

<mui:DataGridTextColumn Header="Kilometer" 
         MinWidth="20" 
         Width="SizeToCells" 
         Binding="{Binding Path=Kilometer, TargetNullValue='-', FallbackValue='-'}" 
         Visibility="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, TargetNullValue=Collapsed, FallbackValue=Collapsed, Converter={StaticResource IntAsLimit2VisibilityCollapsed}, ConverterParameter=1300}" 
         /> 

搞得我什麼了嗎?它可能在這種組合中不可能?

回答

0

如前所述here,DataGrid中列不在於數據網格的可視化樹,我們不能得到外DataContext使用RelativeSource。 我們只能使用x:引用一個外部的FrameworkElement。

此外,here是一個類似的問題,可能的解決方案(您不需要設置寬度,並可能會避免循環引用)。

+0

thx很多我沒有找到這些鏈接。 :/但知道我記得:這個代理故事,但有一件事是有趣的,因爲它的作品:

相關問題