CurrentChangingEventHandler 代理人
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ICollectionView 実装の CurrentChanging イベントを処理できるメソッドを表します。
/// [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)
パラメーター
- sender
-
Object
IInspectable
イベントのソース。
イベントのデータ。
- 属性
Windows の要件
デバイス ファミリ |
Windows 10 (10.0.10240.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0 で導入)
|
例
次のコード例では、 CurrentChanging イベントを処理する方法を示します。 この例では、XAML は、CollectionViewSource にバインドされた GridView を持つページの内容を示しています。 分離コードは CollectionViewSource の初期化を示しています。これには、CurrentChanging イベント ハンドラーをアタッチするために、その Source の設定とビューの取得が含まれます。
<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;
}
}
注釈
ICollectionView.CurrentChanging イベントは、CurrentItem プロパティの値が変更されるときに発生します。 イベント ハンドラーに渡される CurrentChangingEventArgs パラメーターは、変更に関する情報を指定します。
IsCancelable が true の場合、イベント ハンドラーは Cancel を true に設定することで変更を取り消すことができます。 変更が取り消された場合、 CurrentItem は変更されません。 IsCancelable が false の場合に Cancel を true に設定すると、例外が発生します。