次の方法で共有


CurrentChangingEventArgs クラス

定義

CurrentChanging イベントのデータを提供します。

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CurrentChangingEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class CurrentChangingEventArgs
Public Class CurrentChangingEventArgs
継承
Object IInspectable CurrentChangingEventArgs
属性

次のコード例は、 CurrentChanging イベントを処理する方法を示しています。 この例では、XAML は、CollectionViewSource にバインドされた GridView を持つページの内容を示しています。 分離コードは CollectionViewSource の初期化を示しています。これには、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;
    }
}

注釈

CurrentChanging イベントは、ICollectionView 実装で CurrentItem プロパティ値が変更されたときに発生します。 ICollectionView 実装では、CurrentChangingEventArgs コンストラクターを使用して、CurrentChanging イベント ハンドラーで CurrentItem の変更を取り消すことができるかどうかを指定します。 IsCancelable プロパティの値が true の場合は、Cancel プロパティを true に設定することで CurrentItem の変更を取り消すことができます。 それ以外の場合は、 CurrentItem の変更を取り消すことはできません。

コンストラクター

CurrentChangingEventArgs()

CurrentChangingEventArgs クラスの新しいインスタンスを初期化します。

CurrentChangingEventArgs(Boolean)

CurrentChangingEventArgs クラスの新しいインスタンスを初期化します。

プロパティ

Cancel

CurrentItem の変更を取り消す必要があるかどうかを示す値を取得または設定します。

IsCancelable

CurrentItem の変更を取り消すことができるかどうかを示す値を取得します。

適用対象

こちらもご覧ください