#c# #visual-studio #uwp
#c# #visual-studio #uwp
Вопрос:
Я пишу приложение для UWP.
У меня есть этот xaml:
<ScrollViewer HorizontalAlignment="Left" Height="668" Margin="63,52,0,0" VerticalAlignment="Top" Width="350">
<GridView x:Name="OrdersGridView" IsItemClickEnabled="True" >
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel >
<Grid Height="204" BorderBrush="#FFFBF8F8" BorderThickness="0,0,1,1">
<TextBlock Text="{Binding date_created}" HorizontalAlignment="Left" TextAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Top" Width="350" Height="50" FontFamily="SF UI Display" FontSize="25" FontWeight="Light" Foreground="White" />
<TextBlock TextAlignment="Center" HorizontalAlignment="Left" Margin="0,146,-1,0" TextWrapping="Wrap" Text="{Binding billing.address_1}" VerticalAlignment="Top" Height="58" Width="350" FontFamily="SF UI Display" FontSize="25" FontWeight="Light" Foreground="White" />
<TextBlock HorizontalAlignment="Left" TextAlignment="Center" Margin="0,86,-1,0" TextWrapping="Wrap" Text="{Binding billing.first_name}" VerticalAlignment="Top" Height="60" Width="350" FontFamily="SF UI Display" FontSize="25" FontWeight="Light" Foreground="White" Padding="0,0,0,0"/>
</Grid>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</ScrollViewer>
<Grid x:Name="DetailGrid" HorizontalAlignment="Left" Height="667" Margin="415,53,-2,0" VerticalAlignment="Top" Width="867">
<Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="390,172,0,0" VerticalAlignment="Top"/>
</Grid>
</Grid>
Я установил DetailGrid.Visibility = Visibility.Collapsed
эту сетку <Grid x:Name="DetailGrid"
в .cs
Мне нужно изменить его Visible
, когда я нажимаю на элемент в GridView.
Как я могу это сделать?
Спасибо за помощь, чуваки.
Комментарии:
1. Какой элемент вы хотите обработать событием щелчка? Поскольку вы знаете, как скрыть сетку, с какой проблемой вы сталкиваетесь, чтобы показать ее обратно? Вы пытались
Visibility.Visible
показать его обратно?2. Сетка в виде сетки @SivaGopal
3. Я думаю, что ваш вопрос неясен, пожалуйста, исправьте его, если требуется. Вы сказали «я установил
DetailGrid.Visibility
значениеCollapsed
» и хотите изменить ЕГО обратноVisible
.4. Мне нужно изменить его на видимый, когда я нажимаю на элемент в GridView. Это в моем вопросе говорит о том, что мне нужно щелкнуть
Grid
GridView
и изменить свойствоGrid x:Name="DetailGrid"
. @SivaGopal
Ответ №1:
Я нашел ответ на вопрос
вот xaml:
<GridView x:Name="OrdersGridView" IsItemClickEnabled="True"
SelectionMode="Single" ItemClick="OrdersGridView_ItemClick"
>
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel >
<Grid x:Name="GridInf" Tapped="Grid_Tapped" Height="204" BorderBrush="#FFFBF8F8" BorderThickness="0,0,1,1">
<TextBlock Text="{Binding date_created}" HorizontalAlignment="Left" TextAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Top" Width="350" Height="50" FontFamily="SF UI Display" FontSize="25" FontWeight="Light" Foreground="White" />
<TextBlock TextAlignment="Center" HorizontalAlignment="Left" Margin="0,146,-1,0" TextWrapping="Wrap" Text="{Binding billing.address_1}" VerticalAlignment="Top" Height="58" Width="350" FontFamily="SF UI Display" FontSize="25" FontWeight="Light" Foreground="White" />
<TextBlock HorizontalAlignment="Left" TextAlignment="Center" Margin="0,86,-1,0" TextWrapping="Wrap" Text="{Binding billing.first_name}" VerticalAlignment="Top" Height="60" Width="350" FontFamily="SF UI Display" FontSize="25" FontWeight="Light" Foreground="White" Padding="0,0,0,0"/>
</Grid>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</ScrollViewer>
<Grid x:Name="DetailGrid" HorizontalAlignment="Left" Height="667" Margin="415,53,-2,0" VerticalAlignment="Top" Width="867">
<Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="390,172,0,0" VerticalAlignment="Top"/>
</Grid>
Вот код для действия:
private void Grid_Tapped(object sender, TappedRoutedEventArgs e)
{
DetailGrid.Visibility = Visibility.Visible;
}
Ответ №2:
Именно так я бы это сделал:
XAML: добавить выделение, измененный обработчик событий
<ScrollViewer HorizontalAlignment="Left" Height="668" Margin="63,52,0,0" VerticalAlignment="Top" Width="350">
<GridView x:Name="OrdersGridView" IsItemClickEnabled="True" Selection_Changed="OrdersGridView_SelectionChanged">
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel >
<Grid Height="204" BorderBrush="#FFFBF8F8" BorderThickness="0,0,1,1">
<TextBlock Text="{Binding date_created}" HorizontalAlignment="Left" TextAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Top" Width="350" Height="50" FontFamily="SF UI Display" FontSize="25" FontWeight="Light" Foreground="White" />
<TextBlock TextAlignment="Center" HorizontalAlignment="Left" Margin="0,146,-1,0" TextWrapping="Wrap" Text="{Binding billing.address_1}" VerticalAlignment="Top" Height="58" Width="350" FontFamily="SF UI Display" FontSize="25" FontWeight="Light" Foreground="White" />
<TextBlock HorizontalAlignment="Left" TextAlignment="Center" Margin="0,86,-1,0" TextWrapping="Wrap" Text="{Binding billing.first_name}" VerticalAlignment="Top" Height="60" Width="350" FontFamily="SF UI Display" FontSize="25" FontWeight="Light" Foreground="White" Padding="0,0,0,0"/>
</Grid>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</ScrollViewer>
И код c #:
private void OrdersGridView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DetailGrid.Visibility = Visibility.Visible;
}