У меня есть ListView в XAML, который отображает его исходную коллекцию в стиле GridView (с колонками). Однако я намерен использовать тот же ListView, чтобы отображать исходную коллекцию, может быть в сетке изображений или в виде карты. Я хочу, чтобы ListView менял себя на основе выбора ComboBox. Итак, скажем, для значения ComboBox 1 ListView должен отображать GridView, для значения 2 ListView должен отображать вид карты. В настоящее время мой ListView указывает GridView установлен как его Посмотреть собственности:Динамически меняющиеся элементы списка элементов WPFPanel & ItemsContainerStyle
<ListView ItemsSource="{Binding PersonList}" Width="450" HorizontalAlignment="Right" IsSynchronizedWithCurrentItem="True">
<ListView.View>
<GridView>
<GridViewColumn Header="FirstName" DisplayMemberBinding="{Binding FirstName}" />
<GridViewColumn Header="LastName" DisplayMemberBinding="{Binding LastName}" />
<GridViewColumn Header="Ip Address" DisplayMemberBinding="{Binding Path=IpAddress}" />
</GridView>
</ListView.View>
</ListView>
Я хотел бы знать, как я могу изменить ListView для отображения различных представлений, основанных на ComboBox триггеров.
Оба кажутся идеальными решениями ... но если бы мне пришлось сделать выбор, который я должен выбрать ... согласно вам, какое из решений было бы лучше реализовать ... с точки зрения представление. – Lucifer
Если у вас более двух шаблонов, я бы предложил первый подход, в противном случае вам понадобится второй подход. Влияние производительности похоже на меня, так как во время выполнения вы меняете шаблон. В первом случае вы меняете шаблон ListView и во втором случае шаблон ContentControl. –