获取验证摘要RadDataForm

时间:2013-12-17 09:55:51

标签: wpf mvvm telerik

我们在使用MVVM Pattern的产品中使用Telerik RadDataForm。我们想使用我们的自定义Commads和Button for Commit和Cancel,为了得到这个,我们引用RadDataFormStyle来设置命令,如图所示。

 <StackPanel x:Name="PART_FooterPanel" HorizontalAlignment="Right" Orientation="Horizontal">
                                  <telerik:RadButton x:Name="PART_CommitButton" Content="{TemplateBinding CommitButtonContent}" Command="{Binding Source={StaticResource DataContextProxy}, Path=Data.UpdateItem}"  InnerCornerRadius="0" Margin="2,4,4,4" MinWidth="48" MinHeight="20">
                                      <telerik:StyleManager.Theme>
                                          <telerik:Office_BlackTheme/>
                                      </telerik:StyleManager.Theme>
                                  </telerik:RadButton>
                                  <telerik:RadButton x:Name="PART_CancelButton" Content="{TemplateBinding CancelButtonContent}" Command="{Binding Source={StaticResource DataContextProxy},Path=Data.CancelItemUpdate}" InnerCornerRadius="0" Margin="2,4,4,4" MinWidth="48" MinHeight="20">
                                      <telerik:StyleManager.Theme>
                                          <telerik:Office_BlackTheme/>
                                      </telerik:StyleManager.Theme>
                                  </telerik:RadButton>
                              </StackPanel>

以下是View上定义的Rad Form。 CommandButtonsVisibility =“None”设置为None,因为我们不希望看到正在使用的导航和其他控件。

 <telerik:RadDataForm x:Name="DataForm1"                                     CurrentItem="{Binding CurrentLevelItem,UpdateSourceTrigger=PropertyChanged}"                                     Style="{StaticResource RadDataFormStyle1}"                                      DataFieldStyle="{StaticResource DataFormDataFieldStyle1}" AutoEdit="True" CommandButtonsVisibility="None"  />

字段是自动生成的,问题是我们想要获取ValidationString(如果不满足文本字段等的条件,则AutoGenerated验证消息绑定到视图模型中的属性等)以显示它根据我们的要求(即在我们的一个自定义工具上显示信息或错误等)。 有没有办法获得验证字符串?。

谢谢,

1 个答案:

答案 0 :(得分:0)

获取Validation Summary对象的一种方法是将Invoke Action绑定到事件,如下所示,并将Validation Summary作为命令参数发送到View Model。

<telerik:RadDataForm x:Name="DataForm1"
                                     CurrentItem="{Binding CurrentLevelItem,Mode=TwoWay}"
                                     Style="{StaticResource RadDataFormStyle1}"
                                      DataFieldStyle="{StaticResource DataFormDataFieldStyle1}" AutoEdit="True"  CommandButtonsVisibility="None"

                                    ValidationSummaryVisibility="Collapsed"  >                       
                        <i:Interaction.Triggers>
                            <i:EventTrigger EventName="KeyUp">
                                <prism:InvokeCommandAction Command="{Binding ValidationSummaryCmd}" CommandParameter="{Binding ValidationSummary.Errors, ElementName=DataForm1}" />
                            </i:EventTrigger>
                        </i:Interaction.Triggers>
                    </telerik:RadDataForm>