Ich habe eine StackPanel
auf einer Windows 8.1 App und ich möchte eine Mouse-Over
Funktion hinzufügen. Wenn ich die ähnliche Funktion auf Windows 8.1-Anwendungen richtig verstehe, ist PointerEntered/PointerExited
. Wie bekomme ich zum Beispiel den "Item's" Text eines TextBlock
mit diesen Funktionen?Windows App 8.1 StackPanel Mouse-Over
EDIT: Ich möchte im Grunde erhalten die TextBlock
's Handle, wenn die Maus darüber ist, damit ich es Eigenschaften (Text etc ...) bekommen oder einstellen kann.
Dies ist meine C#
Funktion
private void itemGridView_PointerEntered(object sender, PointerRoutedEventArgs e)
{
}
und mein XAML-Code:
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemGridView"
AutomationProperties.Name="Items In Group"
TabIndex="1"
Grid.RowSpan="2"
Padding="120,126,120,50"
ItemsSource="{Binding Source={StaticResource itemsViewSource}}"
SelectionMode="None"
IsSwipeEnabled="false"
IsItemClickEnabled="True"
ItemClick="ItemView_ItemClick" PointerEntered="itemGridView_PointerEntered">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Height="110" Width="480" Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Background="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
<Image x:Name="ImageItemName" Source="{Binding ImagePath}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
</Border>
<StackPanel x:Name="stackPanel1" Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
<TextBlock x:Name="ItemTitleText" Text="{Binding Title}" Style="{StaticResource TitleTextBlockStyle}" TextWrapping="NoWrap"/>
<TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextBlockStyle}" TextWrapping="NoWrap"/>
<TextBlock x:Name="ItemDescText" Text="{Binding Description}" Style="{StaticResource BodyTextBlockStyle}" MaxHeight="60"/>
</StackPanel>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.Header>
<StackPanel Width="480" Margin="0,4,14,0">
<TextBlock x:Name="TitleTextBlock" Text="{Binding Subtitle}" Margin="0,0,0,20" Style="{StaticResource SubheaderTextBlockStyle}" MaxHeight="60"/>
<Image x:Name="imageName" Source="{Binding ImagePath}" Height="400" Margin="0,0,0,20" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
<TextBlock x:Name="DescTextBlock" Text="{Binding Description}" Margin="0,0,0,0" Style="{StaticResource BodyTextBlockStyle}"/>
</StackPanel>
</GridView.Header>
<GridView.ItemContainerStyle>
<Style TargetType="FrameworkElement">
<Setter Property="Margin" Value="52,0,0,2"/>
</Style>
</GridView.ItemContainerStyle>
</GridView>
Das ist eine sehr gute Antwort ist und Antworten meines Problems eine große Rolle. Ich habe eine einfache Frage. Was passiert mit einem Bild? Ich habe versucht, ein neues Kind als Image zu erstellen und dann die Images.Properties zu bekommen, aber keine war verfügbar. –
Zeigen Sie Ihren Code. –
Ich ersetzte einfach 'var tb = Kind als TextBlock;' mit 'var tb = Kind als Bild;'. Versucht, das Image des 'StackPanel' zu erhalten. Alle Eigenschaften sind verfügbar, aber alle haben 'null' zurückgegeben. –