|
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
|
Traduzione
Originale
|
Enumerazione ValidationStep
Spazio dei nomi: System.Windows.Controls
Assembly: PresentationFramework (in PresentationFramework.dll)
| Nome membro | Descrizione | |
|---|---|---|
| RawProposedValue | ||
| ConvertedProposedValue | ||
| UpdatedValue | ||
| CommittedValue |
<StackPanel Name="stackPanel1" Margin="10" Width="250" Loaded="stackPanel1_Loaded" Validation.Error="ItemError"> <StackPanel.Resources> <Style TargetType="HeaderedContentControl"> <Setter Property="Margin" Value="2"/> <Setter Property="Focusable" Value="False"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="HeaderedContentControl"> <DockPanel LastChildFill="False"> <ContentPresenter ContentSource="Header" DockPanel.Dock="Left" Focusable="False" VerticalAlignment="Center"/> <ContentPresenter ContentSource="Content" Margin="5,0,0,0" DockPanel.Dock="Right" VerticalAlignment="Center"/> </DockPanel> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style TargetType="Button"> <Setter Property="Width" Value="100"/> <Setter Property="Margin" Value="10,15,15,15"/> </Style> </StackPanel.Resources> <StackPanel.BindingGroup> <BindingGroup NotifyOnValidationError="True"> <BindingGroup.ValidationRules> <src:ValidateDateAndPrice ValidationStep="ConvertedProposedValue" /> </BindingGroup.ValidationRules> </BindingGroup> </StackPanel.BindingGroup> <TextBlock FontSize="14" Text="Enter an item for sale"/> <HeaderedContentControl Header="Description"> <TextBox Width="150" Text="{Binding Path=Description, Mode=TwoWay}"/> </HeaderedContentControl> <HeaderedContentControl Header="Price"> <TextBox Name="priceField" Width="150"> <TextBox.Text> <Binding Path="Price" Mode="TwoWay" > <Binding.ValidationRules> <src:PriceIsAPositiveNumber/> </Binding.ValidationRules> </Binding> </TextBox.Text> </TextBox> </HeaderedContentControl> <HeaderedContentControl Header="Date Offer Ends"> <TextBox Name="dateField" Width="150" > <TextBox.Text> <Binding Path="OfferExpires" StringFormat="d" > <Binding.ValidationRules> <src:FutureDateRule/> </Binding.ValidationRules> </Binding> </TextBox.Text> </TextBox> </HeaderedContentControl> <StackPanel Orientation="Horizontal"> <Button IsDefault="True" Click="Submit_Click">_Submit</Button> <Button IsCancel="True" Click="Cancel_Click">_Cancel</Button> </StackPanel> <HeaderedContentControl Header="Description"> <TextBlock Width="150" Text="{Binding Path=Description}"/> </HeaderedContentControl> <HeaderedContentControl Header="Price"> <TextBlock Width="150" Text="{Binding Path=Price, StringFormat=c}"/> </HeaderedContentControl> <HeaderedContentControl Header="Date Offer Ends"> <TextBlock Width="150" Text="{Binding Path=OfferExpires, StringFormat=d}"/> </HeaderedContentControl> </StackPanel>
public class ValidateDateAndPrice : ValidationRule { // Ensure that an item over $100 is available for at least 7 days. public override ValidationResult Validate(object value, CultureInfo cultureInfo) { BindingGroup bg = value as BindingGroup; // Get the source object. PurchaseItem item = bg.Items[0] as PurchaseItem; object doubleValue; object dateTimeValue; // Get the proposed values for Price and OfferExpires. bool priceResult = bg.TryGetValue(item, "Price", out doubleValue); bool dateResult = bg.TryGetValue(item, "OfferExpires", out dateTimeValue); if (!priceResult || !dateResult) { return new ValidationResult(false, "Properties not found"); } double price = (double)doubleValue; DateTime offerExpires = (DateTime)dateTimeValue; // Check that an item over $100 is available for at least 7 days. if (price > 100) { if (offerExpires < DateTime.Today + new TimeSpan(7, 0, 0, 0)) { return new ValidationResult(false, "Items over $100 must be available for at least 7 days."); } } return ValidationResult.ValidResult; } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.