如果值無效,如何在自動生成的 DataGrid(來自 DataTable)中添加單元格驗證并將單元格設定為紅色?
這是我的資料網格:
<DataGrid Grid.Row="2"
Margin="5"
Background="Transparent"
MaxHeight="300"
MaxWidth="500"
ScrollViewer.CanContentScroll="True"
HorizontalAlignment="Center"
VerticalAlignment="Center"
ItemsSource="{Binding DataTable}"
HeadersVisibility="None"
CellStyle="{StaticResource tableCellTheme}"
CanUserAddRows="False">
我還加了
<DataGrid.RowValidationRules>
<validation:DataGridValidation ValidationStep="UpdatedValue" />
</DataGrid.RowValidationRules>
但我不想評估整行,更重要的是,如果回傳 false,我不知道如何將有問題的單元格設定為紅色...感謝您的幫助!
uj5u.com熱心網友回復:
您必須處理該DataGrid.AutoGeneratingColumn事件,獲取對列系結的參考,然后啟用系結驗證并將 附加ValidationRule到它:
主視窗.xaml
<DataGrid AutoGeneratingColumn="EnableCellValidation_OnAutoGeneratingColumn" />
主視窗.xaml.cs
private void EnableCellValidation_OnAutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.Column is DataGridBoundColumn column)
{
var columnBinding = column.Binding as Binding;
columnBinding.ValidatesOnDataErrors = true;
columnBinding.ValidationRules.Add(new DataGridValidation());
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/363510.html
