2016-11-16 10 views
0

私は、利用可能なスペース(プログラム全体の幅)が十分な場合にのみ、ユーザーにデータグリッドの重要ではない重要な列を表示しようとします。だから私は、コンバータのデータグリッドの実際の列の可視性をバインドする必要があります。 私のコンバーターのすべてが、私が書いた作品はうまくいきますが、この場合は何も起きません。つまり、コンバーターの呼び出しはありません。私はそれをデバッグログで調べました。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列はDataGridのビジュアルツリーにはなく、RelativeSourceを使用して外部DataContextに到達することはできません。 x:外部FrameworkElementへの参照のみ使用できます。

また、hereは可能な解決策で同様の質問です(幅を設定する必要はなく、循環参照を避けることはおそらくあります)。

+0

thx多くの場合、これらのリンクが見つかりませんでした。私は覚えていることを知っている:しかし、このプロキシストーリーが興味深いのは、それが動作するため、興味深い:

関連する問題