2010-11-09 16 views
30

ho bisogno di rimuovere il rettangolo rosso attorno alla casella combinata. Ho impostato il combobox in xaml come (sotto) questo e sto cercando di sovrascrivere Validation.ErrorTemplate.rimuovi rettangolo rosso attorno alla casella combinata

 <ComboBox x:Name="comboPodkategoria" 
          Margin="0,3,0,0" 
          IsSynchronizedWithCurrentItem="False" 
          IsEditable="False" 
          ItemsSource="{Binding Source={StaticResource PodKategoriaLookup}, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" 
          SelectedValue="{Binding IDPodKategoria}" 
          DisplayMemberPath="kat_popis" SelectedValuePath="IDPodkat" TabIndex="5" Style="{StaticResource combostyle}"> 
          <Validation.ErrorTemplate> 
           <ControlTemplate> 
           </ControlTemplate> 
          </Validation.ErrorTemplate> 
      </ComboBox> 

E lo stile per la rimozione di rettangolo rosso, ma hanno qualche errore in XAML dire che la proprietà visibilità non è riconosciuto o non è accessibile. La definizione dello stile è sotto.

<Style x:Key="combostyle"> 
<Style.Triggers> 
    <Trigger Property="Validation.HasError" Value="True"> 
     <Setter Property="Visibility" TargetName="NotValid" Value="Visible"/> 
    </Trigger> 
</Style.Triggers> 

Qualche idea? :(

risposta

80

utilizzare questa opzione per modificare il Validation.ErrorTemplate

<ControlTemplate x:Key="ComboBoxValidationErrorTemplate"> 
    <DockPanel> 
     <Border BorderBrush="Blue" BorderThickness="4"> 
      <AdornedElementPlaceholder /> 
     </Border> 
    </DockPanel> 
</ControlTemplate> 

E poi utilizzarlo nella vostra casella combinata come

<ComboBox Validation.ErrorTemplate="{StaticResource ComboBoxValidationErrorTemplate}" 
      ...> 

per avere alcuna indicazione di un errore di convalida, rimuovere DockPanel, imposta Visibilità su Collapsed o in qualsiasi altro modo che ti piace.

quasi dimenticato, probabilmente il modo più semplice per rimuovere il "bordo rosso"

<ComboBox Validation.ErrorTemplate="{x:Null}" 
      ...> 
+0

Perfetto, grazie. L'ultima opzione è perfetta per me, non lo sapevo. – vikox

+2

+1 per Validation.ErrorTemplate = "{x: Null}". Sto vivendo la gioia di un elemento dell'interfaccia utente "perfettamente giusto". – BSalita

+10

+1 per Validation.ErrorTemplate = "{x: Null}", fantastico, Grazie. – Mark

-1

Il setter nel trigger seleziona la proprietà Visibility di un elemento denominato "NotValid" .Questo non è definito nell'XAML che hai postato.Se non c'è alcun elemento chiamato "NotValid", questo è il tuo problema.

1

Aggiungi il tuo Combobox, Validation.ErrorTemplate = "{x: Null}"; questo codice è ignorato errori.

Problemi correlati