2010-05-21 49 views
1

我們正在使用MVVM實現WPF業務應用程序。目前我們正在嘗試確定爲DataGrid顯示驗證錯誤的最佳方式。目前,我們正在努力這樣做是這樣的:WPF DataGrid - 驗證建議

1)查看用戶控件包含綁定到位於關聯的視圖模型

2)視圖模型implments的IDataErrorInfo的接口實體框架對象的EntityCollection一個DataGrid。在視圖模型也有正常的特性包括用於實現IDataErrorInfo.Item

3)實現IDataErrorInfo.Item要求從底層模型驗證,以確定是否有任何驗證問題

該作品的屬性的屬性罰款的任何文本框或視圖上的組合框 - validatiosn正在按預期處理。但是對於數據網格,我們很難過 - 無論我們嘗試過什麼,驗證都不會發生。目前它是這樣定義的:

<DataGrid x:Name="dgWikiNames" ItemsSource="{Binding Wiki_Names, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, NotifyOnSourceUpdated=True}" AutoGenerateColumns="False"> 
         <DataGrid.RowValidationRules> 
          <DataErrorValidationRule ValidationStep="UpdatedValue"/>        
         </DataGrid.RowValidationRules> 
         <DataGrid.Columns> 
          <DataGridTextColumn Header="First Name"> 
           <DataGridTextColumn.Binding> 
            <Binding Path="First_Name" ValidatesOnDataErrors="True"> 
             <Binding.ValidationRules> 
              <DataErrorValidationRule/> 
              <!--<local:CellDataInfoValidationRule ValidationStep="UpdatedValue"/>--> 
             </Binding.ValidationRules> 
            </Binding> 
           </DataGridTextColumn.Binding> 
          </DataGridTextColumn> 
          <DataGridTextColumn Header="Is Primary" Binding="{Binding Primary_Flag}"/> 
         </DataGrid.Columns> 
        </DataGrid> 

如果任何人有任何指示或建議,我們將不勝感激。 感謝

回答

1

以下內容添加到您的綁定:

ValidatesOnDataErrors="True" NotifyOnValidationError="True"