Bagikan melalui


CurrentChangingEventHandler Delegasikan

Definisi

Mewakili metode yang dapat menangani peristiwa CurrentChanging dari implementasi ICollectionView .

[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.Guid(1026201821, 38323, 24533, 147, 180, 161, 162, 89, 159, 34, 92)]
public delegate void CurrentChangingEventHandler(object sender, CurrentChangingEventArgs e);
Public Delegate Sub CurrentChangingEventHandler(sender As Object, e As CurrentChangingEventArgs)

Parameter

sender
Object

Sumber dari peristiwa tersebut.

e
CurrentChangingEventArgs

Data peristiwa.

Atribut

Contoh

Contoh kode berikut menunjukkan cara menangani peristiwa CurrentChanging . Dalam contoh ini, XAML menunjukkan konten halaman dengan GridView yang terikat ke CollectionViewSource. Kode di belakang menunjukkan inisialisasi CollectionViewSource , yang mencakup pengaturan Sumbernya dan mengambil Tampilannya untuk melampirkan penanganan aktivitas CurrentChanging .

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

Keterangan

Peristiwa ICollectionView.CurrentChanging terjadi saat nilai properti CurrentItem berubah. Parameter CurrentChangingEventArgs yang diteruskan ke penanganan aktivitas menentukan informasi tentang perubahan tersebut.

Jika IsCancelablebenar, penanganan aktivitas dapat membatalkan perubahan dengan mengatur Batal ke true. Jika perubahan dibatalkan, CurrentItem tidak diubah. Pengaturan Batal ke true ketika IsCancelablesalah menimbulkan pengecualian.

Berlaku untuk

Lihat juga