2011-07-04 6 views
4

DataGrid内のフォアグラウンドカラーを選択した。..のTextBlockは、私はいくつかのカスタム列を定義している<br/> WPFのデータグリッドを...作成したWPF

<my:DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <TextBlock Text="{Binding HeadC}" /> 
       <TextBlock Text="{Binding HeadCPercent}" Foreground="#FFF05D1D" /> 
      </StackPanel> 
     </DataTemplate> 
</my:DataGridTemplateColumn.CellTemplate> 

問題があり、その行は秒のテキストブロックの色をslectedされたとき変更されず、ほとんど見えません。

この問題の解決方法はありますか?

答えて

4

DataTriggerDataTemplateトリガーコレクションに追加します。トリガーコレクションは、行の選択状態に基づいてフォアグラウンドを変更します。次の例のように:

<DataTemplate> 
    <StackPanel> 
    <TextBlock Text="{Binding HeadC}" /> 
    <TextBlock x:Name="tbPercent" Text="{Binding HeadCPercent}" Foreground="#FFF05D1D"/> 
    </StackPanel> 
    <DataTemplate.Triggers> 
    <DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type dg:DataGridRow}}}" Value="True"> 
     <Setter Property="Foreground" TargetName="tbPercent" Value="Blue" /> 
    </DataTrigger> 
    </DataTemlate.Triggers> 
</DataTemplate> 

私は基礎として、このanswerを取り、あなたの質問にそれを調整します。私はコードでタイプミスをしたかもしれませんが、あなたはその考えを得なければなりません:)。それが役に立てば幸い。

+0

ありがとうございました:)私はどこにそのトリガーを置くか分からなかった – GorillaApe

関連する問題