2011-02-08 25 views
1

これは私のXAMLです:GridViewのGridViewColumnsを均等に配置する方法は?

<ListView ItemsSource="{Binding Items}"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="Property1" DisplayMemberBinding="{Binding Property1}" /> 
      <GridViewColumn Header="Property2" DisplayMemberBinding="{Binding Property2}" /> 
     </GridView> 
    </ListView.View> 
</ListView> 

私はこれらの2列は1にリストビューの幅を取るしたい:1の比率。

どうすればこの問題を解決できますか?


編集:見つかったthis suggestion on MS Connect。これは私の問題を完全に解決するでしょう。 (今のところ2.5年...)延期と閉じているが頭に浮かぶ何

答えて

1

は、GridViewその後Grid.IsSharedSizeScope="True"を持っている必要があり、それぞれが同じSharedSizeGroupColumnDefinitionを持っているテンプレートで内部Gridsを使用して、列のさグリッドビュー自体はunresizable(それが可能な場合)である必要があります、今すぐそれをテストすることはできませんので、少しスケッチです。

もう1つの方法はGridViewColumnsWidthsListViewの幅にバインドし、カスタムコンバータを使用してそれを適切な割合にすることです。

+0

+1、Potentially Blendを使用して、 "GridView"の "テンプレート"がどのように見えるかを発見することができます。しかし、私の腸は、 'Width'を' ListView'の 'ActualWidth'の半分に設定されたコンバータにバインドすることは、おそらく自分自身の' ViewBase'を書かずに唯一の方法になると言います。 – user7116

+0

@sixlettervariables私は正確にそれを試み、それは私に水平スクロールバーを与えました。私は半分以下のものが必要だと思う。 – Kugel

+0

@Kugel:スクロールバーを強制的にオフにしても問題ありません。それはちょうど1ピクセルまたは2ピクセルです:P –

関連する問題