2013-12-17 42 views
0

我们在使用MVVM模式的产品中使用Telerik RadDataForm。我们想要使用我们的自定义的逗号和按钮来提交和取消,并得到这个我们引用RadDataFormStyle来设置命令,如图所示。获得验证总结RadDataForm

<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> 

以下是视图上定义的Rad表单。 CommandButtonsVisibility =“None”被设置为None,因为我们不想看到正在使用的导航和其他控件。

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

的字段是自动生成的,问题是我们想要得到的ValidationString的保持(如果不是遇到了一个文本字段等的条件自动生成的确认消息是绑定到一个属性视图模型等)根据我们的要求显示它(即在我们的一个自定义工具上显示信息或错误等)。 是否有一种方法来获取验证字符串?

感谢,

回答

0

一个方式来获得验证摘要对象的保持是到Invoke动作绑定到事件的跟踪,并发送验证摘要为命令参数的查看模式。

<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>