私はデータを表示するためにWPFデータグリッドを使用しています。私は、(私は動的に生成された列を使用しています)最後に空のスペースがある場合、最後に空の列/スペースを含め、アイテムがクリックされたときに行全体を強調表示する方法を把握しようとしています。注意してください、私は特定のセルだけを強調表示しようとしていません。このhttp://imgur.com/7Xjoj2Hは私が見ているものです。行の最後にある未使用スペースは、現在列がなく、強調表示されていないスペースです。その行がクリックされたときにそのスペースも強調表示されたいです。私は試した:WPF DataGridが行全体をハイライト表示
残りのスペースを埋めるためにautoの最後の列に幅を設定する。これは、動的に作成された列を使用しているので、これを行うと水平スクロールバーが無効になるため、私にとってはうまくいかない。
私もDataGridRowsのスタイルを追加しようとしました:
<Trigger Property="IsSelected"
Value="true">
<Setter Property="Background"
Value="{StaticResource SelectedBrush}" />
</Trigger>
作品のこの種を、ものの、時にデータグリッドのロード、または私のプログラムに焦点が合っていないとき、それは次のようになります。http://imgur.com/EtTmBbH場所未使用領域の最後の領域のみが強調表示されます。
可能であれば、空白のダミー列を最後に追加するだけで回避できないので、最後の列幅をautoに設定するのと同じ問題が発生する可能性があります。
提案がありますか?
編集:ここでは
がDataGridRowスタイル用のコードです:
<Style TargetType="{x:Type DataGridRow}"
x:Key="DataGridRowStyle">
<Setter Property="Background"
Value="White" />
<Style.Triggers>
<Trigger Property="AlternationIndex"
Value="1">
<Setter Property="Background"
Value="#efefef" />
</Trigger>
<Trigger Property="IsMouseOver"
Value="true">
<Setter Property="Background"
Value="{StaticResource RolloverBrush}" />
</Trigger>
<Trigger Property="IsSelected"
Value="true">
<Setter Property="Background"
Value="{StaticResource SelectedBrush}" />
</Trigger>
</Style.Triggers>
</Style>
そして、選択したブラシ:
<LinearGradientBrush x:Key="SelectedBrush"
StartPoint="0,0"
EndPoint="0,1">
<GradientStop Offset="0"
Color="#3399FF" />
</LinearGradientBrush>
DataGridのコード:
<DataGrid x:Name="JobListView"
AutoGenerateColumns="False"
ItemsSource="{Binding UnitStatusCollection, Mode=TwoWay}"
CanUserDeleteRows="False"
Style="{StaticResource JobGridViewStyle}"
SelectedIndex="{Binding JobsListViewSelectedIndex, Mode=TwoWay}"
SelectedItem="{Binding JobsListViewSelectedUnitStatusPair}"
Utility:DataGridColumnsBehavior.BindableColumns="{Binding DataGridColumns}"
ContextMenu="{StaticResource ListViewContextMenu}"
Margin="10,0"
Grid.Row="1"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
RowStyle="{StaticResource DataGridRowStyle}"
AlternationCount="2"
HorizontalGridLinesBrush="#5A5A5F"
VerticalGridLinesBrush="#5A5A5F">
"DataGridRows"に 'Style'タグを表示できますか? –
投稿を編集して表示 – KSF
グリッドにどのように適用していますか?あなたのコードは、 'RowStyle =" {StaticResource DataGridRowStyle} "'でDataGrid上で動作します。 –