2013-12-17 52 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>