Я разрабатываю приложение для Windows 8. И я хочу показать GridView
внутри другого шаблона пункта GridView
. И я добавил привязку видимости к внутреннему GridView
, но привязка не работает при упаковке GridViewItems
во внешнем GridView
. Он работает, когда я использую простой ListView
или GridView
без какой-либо упаковки.Как показать сетку в виде сетки?
Это главный GridView
с оберточной
<GridView
Name="feedGridView"
Background="Transparent"
SelectionMode="None"
ItemTemplate="{StaticResource MyFeedGridView}">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Height="600" Orientation="Vertical" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
стиль для «MyFeedGridView», который содержит другой GridView
<DataTemplate x:Key="MyFeedGridView">
<Grid HorizontalAlignment="Left" Width="500">
<StackPanel x:Name="gridViewStackPanel" Orientation="Horizontal" >
<GridView
HorizontalAlignment="Right"
x:Name="myFeedGridViewInListView"
ItemTemplate="{StaticResource MyFeedGridViewInListView}"
ItemsSource="{Binding listContent}"
Height="100"
Visibility="{Binding listContent,Converter={StaticResource FeedListToVisibilityConverter}}"
SelectionMode="None"
Width="400" />
</StackPanel>
</Grid>
</DataTemplate>
Я использую конвертер, чтобы скрыть или показать внутреннюю GridView
. Ниже конвертер, который я использую
public object Convert(object value, Type targetType, object parameter, string language)
{
List<ContentList> contents = value as List<ContentList>;
return (contents != null && contents.Count > 0) ? Visibility.Visible : Visibility.Collapsed;
}
Моя проблема в том, что внутренняя GridView получает скрыт для всех элементов или становится видимым для всех элементов независимо от listcontent, что я связан.
Я заметил, что это происходит только тогда, когда я установил ItemsPanel
. Если я удалю объект VariableSizedWrapGrid
, он будет работать как ожидалось. Но мне нужно обернуть элементы после каждого столбца, чтобы я не мог покончить с этим.
Пожалуйста, дайте мне знать, если у вас есть какие-либо подсказки, почему это происходит.
Благодаря
EDIT: Прикрепление изображение как элементы в виде сетки должны быть организованы. Если вы видите первый элемент сетки, у него есть другой вид сетки внутри элемента сетки, представляющего песни. Таким образом, это представление внутренней сетки будет пустым для некоторых элементов и заселено для некоторых. Поэтому я написал конвертер видимости, чтобы показать и скрыть представление внутренней сетки. И когда я использую конвертер, если первый элемент сетки имеет элементы внутренней сетки (песни, то он отображает внутреннее представление сетки для всех элементов, и если первый элемент сетки не имеет элементов внутренней сетки (композиции), тогда скрывает внутренний вид сетки для всех основных элементов в виде сетки.
Позвольте мне знать, если его не ясно.
Не могли бы вы подробнее рассказать о том, чего вы пытаетесь достичь, и о том, как построена модель вашего вида? Возможно, вы могли бы набросать ящики ваших «GridViewItems» и направление и порядок, которые вы хотите, чтобы они обернулись? –
@FilipSkakun Я добавил изображение. Дайте мне знать, если это не ясно. – user3458865