HoldingRoutedEventArgs 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
public ref class HoldingRoutedEventArgs sealed : RoutedEventArgs
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [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 HoldingRoutedEventArgs final : RoutedEventArgs
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[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 sealed class HoldingRoutedEventArgs : RoutedEventArgs
Public NotInheritable Class HoldingRoutedEventArgs
Inherits RoutedEventArgs
- 상속
- 특성
예제
다음 코드 조각은 기본 입력 샘플의 시나리오 1 - 입력 이벤트에서 가져옵니다.
Scenario1::Scenario1()
{
InitializeComponent();
// pointer press/release handlers
pressedTarget.PointerPressed(this, &Scenario1::target_PointerPressed);
pressedTarget.PointerReleased(this, &Scenario1::target_PointerReleased);
// pointer enter/exit handlers
enterExitTarget.PointerEntered(this, &Scenario1::target_PointerEntered);
enterExitTarget.PointerExited(this, &Scenario1::target_PointerExited);
// gesture handlers
tapTarget.Tapped(this, &Scenario1::target_Tapped);
tapTarget.DoubleTapped(this, &Scenario1::target_DoubleTapped);
holdTarget.Holding(this, &Scenario1::target_Holding);
holdTarget.RightTapped(this, &Scenario1::target_RightTapped);
}
void Scenario1::target_Holding(Windows::Foundation::IInspectable const&, Windows::UI::Xaml::Input::HoldingRoutedEventArgs const& args)
{
if (args.HoldingState() == Windows::UI::Input::HoldingState::Started)
{
holdTarget.Background(Windows::UI::Xaml::Media::SolidColorBrush(Windows::UI::Colors::DeepSkyBlue()));
holdTargetText.Text(L"Holding");
}
else if (args.HoldingState() == Windows::UI::Input::HoldingState::Completed)
{
holdTarget.Background(Windows::UI::Xaml::Media::SolidColorBrush(Windows::UI::Colors::LightGray()));
holdTargetText.Text(L"Held");
}
else
{
holdTarget.Background(Windows::UI::Xaml::Media::SolidColorBrush(Windows::UI::Colors::LightGray()));
holdTargetText.Text(L"Hold Canceled");
}
}
Scenario1::Scenario1()
{
InitializeComponent();
// pointer press/release handlers
pressedTarget->PointerPressed += ref new PointerEventHandler(this, &Scenario1::target_PointerPressed);
pressedTarget->PointerReleased += ref new PointerEventHandler(this, &Scenario1::target_PointerReleased);
// pointer enter/exit handlers
enterExitTarget->PointerEntered += ref new PointerEventHandler(this, &Scenario1::target_PointerEntered);
enterExitTarget->PointerExited += ref new PointerEventHandler(this, &Scenario1::target_PointerExited);
// gesture handlers
tapTarget->Tapped += ref new TappedEventHandler(this, &Scenario1::target_Tapped);
tapTarget->DoubleTapped += ref new DoubleTappedEventHandler(this, &Scenario1::target_DoubleTapped);
holdTarget->Holding += ref new HoldingEventHandler(this, &Scenario1::target_Holding);
holdTarget->RightTapped += ref new RightTappedEventHandler(this, &Scenario1::target_RightTapped);
}
void Scenario1::target_Holding(Object^ sender, HoldingRoutedEventArgs^ e)
{
if (e->HoldingState == Windows::UI::Input::HoldingState::Started)
{
holdTarget->Background = ref new SolidColorBrush(Windows::UI::Colors::DeepSkyBlue);
holdTargetText->Text = "Holding";
}
else if (e->HoldingState == Windows::UI::Input::HoldingState::Completed)
{
holdTarget->Background = ref new SolidColorBrush(Windows::UI::Colors::LightGray);
holdTargetText->Text = "Held";
}
else
{
holdTarget->Background = ref new SolidColorBrush(Windows::UI::Colors::LightGray);
holdTargetText->Text = "Hold Canceled";
}
}
public Scenario1()
{
this.InitializeComponent();
// pointer press/release handlers
pressedTarget.PointerPressed += new PointerEventHandler(target_PointerPressed);
pressedTarget.PointerReleased += new PointerEventHandler(target_PointerReleased);
// pointer enter/exit handlers
enterExitTarget.PointerEntered += new PointerEventHandler(target_PointerEntered);
enterExitTarget.PointerExited += new PointerEventHandler(target_PointerExited);
// gesture handlers
tapTarget.Tapped += new TappedEventHandler(target_Tapped);
tapTarget.DoubleTapped += new DoubleTappedEventHandler(target_DoubleTapped);
holdTarget.Holding += new HoldingEventHandler(target_Holding);
holdTarget.RightTapped += new RightTappedEventHandler(target_RightTapped);
}
void target_Holding(object sender, HoldingRoutedEventArgs e)
{
if (e.HoldingState == Windows.UI.Input.HoldingState.Started)
{
holdTarget.Background = new SolidColorBrush(Windows.UI.Colors.DeepSkyBlue);
holdTargetText.Text = "Holding";
}
else if (e.HoldingState == Windows.UI.Input.HoldingState.Completed)
{
holdTarget.Background = new SolidColorBrush(Windows.UI.Colors.LightGray);
holdTargetText.Text = "Held";
}
else
{
holdTarget.Background = new SolidColorBrush(Windows.UI.Colors.LightGray);
holdTargetText.Text = "Hold Canceled";
}
}
설명
홀딩 이벤트는 손가락, 펜 또는 이와 유사한 포인팅 장치를 눌렀고 개체에 보관할 때마다 전송됩니다.
짧은 시간 임계값이 경과하면 이벤트는 Started 형식의 HoldingState와 함께 전송됩니다.
디바이스가 해제되면(홀딩 이벤트 이후) 다른 Holding 이벤트가 Completed 형식의 HoldingState와 함께 전송됩니다.
사용자가 보류가 시작된 후 보류를 취소하지만 완료하기 전에 HoldingState가 Canceled 형식으로 전송됩니다.
생성자
HoldingRoutedEventArgs() |
HoldingRoutedEventArgs 클래스의 새 instance 초기화합니다. |
속성
Handled |
라우트된 이벤트를 처리됨으로 표시하는 값을 가져오거나 설정합니다. 에 대한 |
HoldingState |
상호 작용에 대한 기본 HoldingState 를 가져옵니다. |
OriginalSource |
이벤트를 발생시킨 개체에 대한 참조를 가져옵니다. 앱 UI에서 선언된 요소가 아닌 컨트롤의 템플릿 부분입니다. (다음에서 상속됨 RoutedEventArgs) |
PointerDeviceType |
연결된 입력 이벤트를 시작한 포인터 디바이스의 PointerDeviceType 을 가져옵니다. |
메서드
GetPosition(UIElement) |
제공된 UIElement의 좌표 원점에서 선택적으로 계산되는 포인터 위치의 x 및 y 좌표를 반환합니다. |