0

ビュー モデルの CollectionViewSource ビューにバインドされたデータグリッドがあります。データグリッドには CheckBoxColumn と 3 つの TextColumn があり、それぞれがビュー内のアイテムのプロパティにバインドされています。また、個々の行のチェックボックスを非表示にするために使用したいビューアイテムに、ブールプロパティ「Enabled」があります。追加のボーナスとして、これらの行の他の 3 つの列の前景色も変更するとよいでしょう。ただし、主なことは、ユーザーが Enabled == false の行のチェックボックスをチェックできないようにすることです。

編集:以下のスティーブンとアンドリューのリンクに基づいて、以下のコードのように値コンバーターを追加しようとしました。何らかの理由で、それは機能していません。現在、1 つを除くすべてのアイテムの Enabled プロパティが false である 90 個のアイテムを持つ CollectionView ビューでテストしています。したがって、非表示のチェックボックスを含む 89 行と、表示されるチェックボックスを含む 1 行を期待しています。ただし、90 行すべてにチェックボックスが表示されています。何か案は?

<tk:DataGrid x:Name ="gridClaims" 
           Grid.Row="0"
           AutoGenerateColumns="False" 
           ItemsSource="{Binding ClaimViewModels.View}"
           Width="350" 
           HrizontalAlignment="Left">

 <tk:DataGrid.Resources>
      <BooleanToVisibilityConverter x:Key="boolToVis" />
 </tk:DataGrid.Resources>

 <tk:DataGrid.Columns>
      <tk:DataGridCheckBoxColumn 
           CellStyle="{StaticResource SingleClickEditing}"

           Binding="{Binding Path=Selected}" 
           Visibility="{Binding Path=Enabled, Converter={StaticResource boolToVis}}"

           CanUserSort="False" />

 </tk:DataGrid.Columns>

4

1 に答える 1

1

Visibility 関数の側面では、データグリッドの Visible 状態を datacontext オブジェクトの Enabled プロパティにバインドして使用する BooleanToVisability コンバーターが必要です。

さらに、前景色もまったく同じ方法で処理できます。

編集:コンバータへのリンクを追加

于 2010-01-02T15:03:57.010 に答える