I microsof Excel では、セルまたはセルのグループが選択されると、列のヘッダーと行のヘッダーが強調表示されます。wpd DataGrid で同様の機能を実装するにはどうすればよいですか?
イベントを処理する必要があると思いますDataGrid.SelectionChanged
が、どうすればよいかわかりません。どんな助けでも大歓迎です。
これを行う最も簡単な方法は、SelectedCellsChanged イベントを使用することだと思います。
私の例を確認してください:
XAML コード:
<DataGrid Name="myData"
AutoGenerateColumns="True"
SelectionMode="Extended"
SelectionUnit="Cell"
SelectedCellsChanged="myData_SelectedCellsChanged"
/>
分離コード:
private void myData_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
foreach (var item in myData.Columns)
{
item.HeaderStyle = null;
}
if (myData.SelectedCells != null && myData.SelectedCells.Count != 0)
{
Style styleSelected = new Style();
styleSelected.Setters.Add(new Setter(Border.BackgroundProperty, new SolidColorBrush(Colors.Orange)));
foreach (var item in myData.SelectedCells)
{
item.Column.HeaderStyle = styleSelected;
}
}
}
列間に垂直線が必要な場合は、styleSelected で Border.BorderBrushProperty と Border.BorderThicknessProperty を設定することもできます。