Wpf c# par programmation changer d'item sélectionner dans un ListView
Résolu
beaulem_5904
Messages postés
10
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, je cherche comment par programmation passer d'un item à un autre dans un ListView.
le ListView contient une liste de chansons et je veux qu'en cliquant sur un bouton il passe à la chanson suivante. voici le ode xaml
et voici le code behind :
le ListView contient une liste de chansons et je veux qu'en cliquant sur un bouton il passe à la chanson suivante. voici le ode xaml
<ListView.View>
<GridView x:Name="grdChemin">
<!--<GridViewColumn />-->
<GridViewColumn Width="400" DisplayMemberBinding="{Binding Chant}" />
<GridViewColumn Width="200" DisplayMemberBinding="{Binding Chemin}"/>
</GridView>
</ListView.View>
</ListView>
<Button x:Name="button" Content="Sélection de chansons" HorizontalAlignment="Left" Margin="416,138,0,0"
VerticalAlignment="Top" Width="150" Height="53"
Click="button_Selection_Click"/>
<Button x:Name="button1" HorizontalAlignment="Left"
Margin="416,0,0,0" VerticalAlignment="Center" Width="75" Height="21"
Click="btn_Next_Click">
<Image Source="/nextBtn.png"/>
</Button>
et voici le code behind :
public partial class MainWindow : Window
{
// Création du média pour faire jouer la musique
public MediaPlayer player = new MediaPlayer();
List<string> fullFileName;
public MainWindow()
{
InitializeComponent();
}
//Cette méthode détecte les changements de chanson pour les faire jouer
public void PrintText(object sender, RoutedEventArgs e)
{
var i = lstChansons.SelectedIndex;
var chanson = ((MyItem)lstChansons.Items[i]).Chemin;
Uri myUri = new Uri(chanson);
player.Open(myUri);
player.Play();
}
// cette méthode permet de sélectionner une liste de chanson
// et les insert dans la liste
private void button_Selection_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Filter = "MP3 files (*.mp3)|*.mp3|All files (*.*)|*.*";
fileDialog.Multiselect = true;
if (fileDialog.ShowDialog() == true)
{
fullFileName = new List<string>(fileDialog.FileNames);
foreach (string fichier in fullFileName)
{
this.lstChansons.Items.Add(new MyItem
{
Chemin = fichier,
Chant = fichier.Substring(fichier.LastIndexOf(@"\") + 1)
});
}
}
}
private void btn_Next_Click(object sender, RoutedEventArgs e)
{
// Récupération de l'index du nouveau titre sélectionné
var i = lstChansons.SelectedIndex;
i++;
var chanson = ((MyItem)lstChansons.Items[i]).Chemin;
Uri myUri = new Uri(chanson);
// Faire jouer la chanson
player.Open(myUri);
player.Play();
}
}
internal class MyItem
{
public string Chant { get; set; }
public string Chemin { get; set; }
}
A voir également:
- Wpf c# par programmation changer d'item sélectionner dans un ListView
- Changer dns - Guide
- Changer carte graphique - Guide
- Changer extension fichier - Guide
- Changer wifi chromecast - Guide
- Changer clavier qwerty en azerty - Guide
4 réponses
Bonsoir
merci d'avoir essayé d'utiliser les balises de code, mais comme tu peux le voir le pavé gris, c'est pas ça qui est ça.
Pour tes prochains message, merci de lire ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour répondre à ta question, il faut utiliser la propriété SelectedItem ou SelectedIndex.
merci d'avoir essayé d'utiliser les balises de code, mais comme tu peux le voir le pavé gris, c'est pas ça qui est ça.
Pour tes prochains message, merci de lire ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour répondre à ta question, il faut utiliser la propriété SelectedItem ou SelectedIndex.