WPF数据网格IDataErrorInfo can';t通过数据绑定设置数据(错误?)
相关问题: 您有以下DataGridWPF数据网格IDataErrorInfo can';t通过数据绑定设置数据(错误?),wpf,validation,datagrid,Wpf,Validation,Datagrid,相关问题: 您有以下DataGrid <DataGrid ItemsSource="{Binding .}" AutoGenerateColumns="False" x:Name="dg"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding Name, ValidatesOnDataErrors=True}" Header="Name" /> <Da
<DataGrid ItemsSource="{Binding .}" AutoGenerateColumns="False" x:Name="dg">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name, ValidatesOnDataErrors=True}" Header="Name" />
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Command="{Binding ChangeNameCommand}">...</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
DataContext设置为ItemViewModel的ObservableCollection您需要添加itemssource的信息。这是什么东西?仅实现IDataErrorInfo或任何其他功能的DataTable或对象?为什么需要一个按钮来设置Name属性的值?好的,我编辑我的问题并发布ItemViewModel的代码。我需要一个按钮f.e.来打开OpenFileDialog并设置文件或其他东西的路径。您需要添加项目资源的信息。这是什么东西?仅实现IDataErrorInfo或任何其他功能的DataTable或对象?为什么需要一个按钮来设置Name属性的值?好的,我编辑我的问题并发布ItemViewModel的代码。我需要一个按钮f.e.来打开OpenFileDialog并设置文件或其他内容的路径。
public class ItemViewModel : INotifyPropertyChanged, IDataErrorInfo
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged("Name");
}
}
public string Error
{
get { return string.Empty; }
}
public string this[string columnName]
{
get
{
if (_name == "Error")
return "Name is Error";
return string.Empty;
}
}
public ICommand ChangeNameCommand { get; protected set; }
public ItemViewModel()
{
ChangeNameCommand = new RelayCommand(() => { Name = "Another Name"; });
}
}