0
마녀를 찾아내는 어떤 방법이 있습니까 Item
숫자가 GridView
의 포인터 아래에 있습니까? 클릭 한 번으로 항목을 선택하지 않고 마우스 아래에 항목에 대한 간단한 정보를 표시하고 싶습니다.UWP : 마우스 (포인터)에서 GridView 항목 번호를 얻는 방법 (클릭에 의해 선택되지 않음)?
마녀를 찾아내는 어떤 방법이 있습니까 Item
숫자가 GridView
의 포인터 아래에 있습니까? 클릭 한 번으로 항목을 선택하지 않고 마우스 아래에 항목에 대한 간단한 정보를 표시하고 싶습니다.UWP : 마우스 (포인터)에서 GridView 항목 번호를 얻는 방법 (클릭에 의해 선택되지 않음)?
ItemTemplate
의 루트 요소에 대해 PointerEntered
및 PointerExited
이벤트를 처리 할 수 있습니다.
XAML :
<GridView>
<x:Int32>1</x:Int32>
<x:Int32>2</x:Int32>
<x:Int32>3</x:Int32>
<GridView.ItemContainerStyle>
<Style TargetType="GridViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Stretch" />
</Style>
</GridView.ItemContainerStyle>
<GridView.ItemTemplate>
<DataTemplate>
<Grid PointerEntered="TextBlock_PointerEntered"
PointerExited="TextBlock_PointerExited"
Background="Transparent">
<TextBlock Text="{Binding}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
<TextBlock x:Name="tb" />
코드 :
private void TextBlock_PointerEntered(object sender, PointerRoutedEventArgs e)
{
Panel root = sender as Panel;
var dataObject = root.DataContext;
tb.Text = dataObject.ToString(); //displays the currently pointed number in "tb"
}
private void TextBlock_PointerExited(object sender, PointerRoutedEventArgs e)
{
tb.Text = string.Empty;
}
OMG! 그렇게 간단하지만 효과적입니다. 나는 ** DataTemplate 내부에서'PointerEntered' 등의 이벤트를 사용할 수 있다는 것을 전혀 몰랐습니다. 그리고 당신의 예제는 더 명확해질 수 없습니다. 감사! – Weissu