Используя тот же стиль во многих listviews

Я хочу использовать тот же стиль во многих listviews. И в моем стиле я определил gridview столбцы также.

Но когда я пытаюсь работать, это выдает исключение:

Взгляды не могут быть разделены больше чем одним ListView.

Как я могу решить это?


XAML:

<Style x:Key="articleList" TargetType="{x:Type ListView}">
<Setter Property="VirtualizingStackPanel.IsVirtualizing" Value="True"/>
<Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="True"/>
<Setter Property="ListView.ItemsSource" Value="{Binding}"/>
<Setter Property="ListView.View">
    <Setter.Value>
        <GridView>
            <GridViewColumn Header="Subject" Width="300">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Subject}"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Size" Width="75">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding SizeFormatted}"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Poster" Width="175">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Poster}"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Age" Width="75">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding AgeFormatted}"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </Setter.Value>
</Setter>

11
задан Noctis 18 November 2014 в 01:58
поделиться

1 ответ

Добавьте свойство x:Shared к вашему ресурсу GridView. Посмотрите ресурс GridView в этом примере.

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="Window1"
        x:Name="Window"
        Title="Window1"
        Width="640" Height="480">
  <Window.Resources>
    <GridView x:Key="ViewBase1" x:Shared="False">
      <GridViewColumn Header="Blah1" Width="70"/>
      <GridViewColumn Header="Blah2" Width="70"/>
      <GridViewColumn Header="Blah3" Width="70"/>
    </GridView>
  </Window.Resources>

  <Grid x:Name="LayoutRoot">
    <ListView Margin="0,0,0,120"    View="{DynamicResource ViewBase1}" />
    <ListView Margin="272,0,91,120" View="{DynamicResource ViewBase1}" />
  </Grid>
</Window>
22
ответ дан 3 December 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: