CurrentChangingEventHandler Delegate
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a method that can handle the CurrentChanging event of an ICollectionView implementation.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(4085812664, 5023, 19918, 141, 201, 247, 241, 68, 77, 17, 133)]
class CurrentChangingEventHandler : MulticastDelegate
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(4085812664, 5023, 19918, 141, 201, 247, 241, 68, 77, 17, 133)]
public delegate void CurrentChangingEventHandler(object sender, CurrentChangingEventArgs e);
Public Delegate Sub CurrentChangingEventHandler(sender As Object, e As CurrentChangingEventArgs)
Parameters
- sender
-
Object
IInspectable
The source of the event.
The event data.
- Attributes
Windows requirements
Device family |
Windows 10 (introduced in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v1.0)
|
Examples
The following code example demonstrates how to handle the CurrentChanging event. In this example, the XAML shows the content of a page with a GridView bound to a CollectionViewSource. The code-behind shows the CollectionViewSource initialization, which includes setting its Source and retrieving its View in order to attach the CurrentChanging event handler.
<Page.Resources>
<CollectionViewSource x:Name="cvs" />
<DataTemplate x:Key="myDataTemplate">
<Border Background="#FF939598" Width="200" Height="200">
<TextBlock Text="{Binding Path=Name}" />
</Border>
</DataTemplate>
</Page.Resources>
<Grid Background="{StaticResource ApplicationPageBackgroundBrush}">
<GridView x:Name="PicturesGrid"
SelectionMode="Single" CanReorderItems="False" CanDragItems="False"
ItemsSource="{Binding Source={StaticResource cvs}}"
ItemTemplate="{StaticResource myDataTemplate}" >
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid VerticalChildrenAlignment="Top"
HorizontalChildrenAlignment="Left" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
</Grid>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var library = Windows.Storage.KnownFolders.PicturesLibrary;
var queryOptions = new Windows.Storage.Search.QueryOptions();
queryOptions.FolderDepth = Windows.Storage.Search.FolderDepth.Deep;
queryOptions.IndexerOption =
Windows.Storage.Search.IndexerOption.UseIndexerWhenAvailable;
var fileQuery = library.CreateFileQueryWithOptions(queryOptions);
var fif = new Windows.Storage.BulkAccess.FileInformationFactory(
fileQuery,
Windows.Storage.FileProperties.ThumbnailMode.PicturesView, 190,
Windows.Storage.FileProperties.ThumbnailOptions.UseCurrentScale,
false);
var dataSource = fif.GetVirtualizedFilesVector();
cvs.Source = dataSource;
cvs.View.CurrentChanging += View_CurrentChanging;
}
private void View_CurrentChanging(object sender, CurrentChangingEventArgs e)
{
Debug.WriteLine("Cancel = " + e.Cancel);
Debug.WriteLine("IsCancelable = " + e.IsCancelable);
if (e.IsCancelable == true)
{
// Cancel the change. The previously selected item remains selected.
e.Cancel = true;
}
}
Remarks
The ICollectionView.CurrentChanging event occurs when the CurrentItem property value is changing. The CurrentChangingEventArgs parameter passed to the event handler specifies information about the change.
If IsCancelable is true, the event handler can cancel the change by setting Cancel to true. If the change is canceled, CurrentItem is not changed. Setting Cancel to true when IsCancelable is false raises an exception.