J'utilise le thème DarkExpression de WPF Futures. Il ne semble pas fonctionner correctement avec les modèles de données.Datatemplates tout en utilisant le thème ne fonctionne pas - WPF
Scénario 1:
Voici comment il ressemble sans DataTemplates:
code:
<ListView Name="playlistListView" ItemsSource="{Binding PlaylistList}" Margin="0" SelectionChanged="DatabindedPlaylistListView_SelectionChanged" Background="{x:Null}" Opacity="0.98">
<ListView.View>
<GridView>
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Name}">
<GridViewColumnHeader HorizontalContentAlignment="Left" Content="Playlist" Tag="Playlist"/>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
Scénario 2: Voici comment ressemble à essayer d'u se DataTemplates tout en utilisant le thème:
code:
<ListView Name="playlistListView" ItemsSource="{Binding PlaylistList}" Margin="0" SelectionChanged="DatabindedPlaylistListView_SelectionChanged" Background="{x:Null}" Opacity="0.98">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<UserControls:SongDataTemplate Margin="4" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Scénario 3:
Voici comment il ressemble à essayer d'utiliser DataTemplates tout en remplaçant le thème:
code:
<UserControl.Resources>
<Style x:Key="ListViewItemStretch" TargetType="{x:Type ListViewItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Background" Value="Transparent" />
</Style>
</UserControl.Resources>
<Grid x:Name="LayoutRoot">
<ListView Name="playlistListView" ItemContainerStyle="{StaticResource ListViewItemStretch}" ItemsSource="{Binding PlaylistList}" Margin="0" SelectionChanged="DatabindedPlaylistListView_SelectionChanged" Background="{x:Null}" Opacity="0.98">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<UserControls:SongDataTemplate Margin="4" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Je veux garder le style de thème, mais je veux aussi utiliser DataTemplates pour définir comment une liste de lecture devrait ressembler. Aucune suggestion?
Note: Dans le scénario 2 et 3 j'ai dû enlever
<ListView.View>
<GridView>
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Name}">
<GridViewColumnHeader HorizontalContentAlignment="Left" Content="Playlist" Tag="Playlist"/>
</GridViewColumn>
</GridView>
</ListView.View>
Avant le DataTemplate serait utilisé.
Edit:
La solution donnée ci-dessous, fonctionne si le type est changé en ListBox et je me sers d'une zone de texte à la place. Je ne peux cependant pas le faire fonctionner avec un ListView.
Merci! Trop de tracas cependant. Je vais juste implémenter ma propre ListView en utilisant ListBox. –