我的ViewModel.cs
中有一个简单的IntObject
。类INotifyPropertyChanged
实现Value
和类型为int的属性ItemsSource
。
该列表用作DataGrid
中的 import glob
import pandas as pd
import numpy as np
import csv
import os
excel_files = glob.glob('../../Versuch/Versuche/RohBeispiel/*.xlsm')
directory = '/Beispiel'
for files in excel_files:
data = pd.read_excel(files)
# getting the list of rows and columns you need
list_of_dfs = pd.DataFrame(data.values[0:600:,12:26],
columns=data.columns[12:26]).drop(['Sauberkeit', 'Temparatur'], axis=1)
# converting pandas dataframe columns to numeric: string into float
cols = ['KonzA', 'KonzB', 'KonzC', 'TempA',
'TempB', 'TempC', 'Modul1', 'Modul2',
'Modul3', 'Modul4', 'Modul5', 'Modul6']
list_of_dfs[cols] = list_of_dfs[cols].apply(pd.to_numeric, errors='coerce', axis=1)
# Filling down from a column through missing data
for fec in list_of_dfs[cols]:
list_of_dfs[fec].fillna(method='ffill', inplace=True)
csvfilename = files.split('/')[-1].split('.')[0] + '.csv'
newtempfile = os.path.join(directory,csvfilename)
print(newtempfile)
print(list_of_dfs.head(2))
。
我的问题: 当我在单元格中键入字符时,会显示红色边框,并且在输出窗口中出现异常。这对我来说很有意义。 我的DataGridColumns是自动生成的,因此无法手动生成。
是否有可能捕获datagrid以类似mvvm的方式抛出的所有异常?
答案 0 :(得分:0)
验证视图或控件的int
属性之一设置为有效的int
值不是视图模型的责任。该验证应在视图或控件中执行。您可以使用ValidationRule
或/和RowValidationErrorTemplate
来自定义行验证反馈。请参阅下面的MSDN页面以获取有关此信息的更多信息。
如何:使用DataGrid控件实施验证: https://docs.microsoft.com/en-us/dotnet/framework/wpf/controls/how-to-implement-validation-with-the-datagrid-control
如果要自动生成列,则可以处理AutoGeneratingColumn
以自定义生成的列。但是您不能将int
的源属性设置为int
以外的任何值。