У меня есть ListView, который отображает эту информацию, я хочу отобразить другой фон для моей кнопки. Если я получаю fav = 1, и другое изображение, если я получаю aime = 1: формат JSON:
{
success: 1,
total: 2,
locals: [
{
id_local: "82",
fav: 0,
aime: 0,
aimepas: 0,
all_like: "2",
all_dislike: "0",
},
{
id_local: "83",
fav: 1,
aime: 1,
aimepas: 0,
all_like: "5",
all_dislike: "0",
}
]
}
и это мой код:
Uri = "URL";
var http = new HttpClient();
http.MaxResponseContentBufferSize = Int32.MaxValue;
var response = await http.GetStringAsync(Uri);
var rootObject = JsonConvert.DeserializeObject<Project.Models.RootObject>(response);
listme.ItemsSource = rootObject.locals;
for (int i = 0; i < int.Parse(rootObject.total); i++) {
if (rootObject1.locals[i].fav == 1)
{
m_button.Background = new SolidColorBrush(Color.FromArgb(255, 251, 187, 9)); //color1 :Yellow
}
else
{
m_button.Background = new SolidColorBrush(Color.FromArgb(255, 178, 178, 178));//color2 :Gray
}
if (rootObject1.locals[i].aime == 1)
{
likeimage.Source = new BitmapImage(new Uri("ms-appx:///images/coueur_rouge.png", UriKind.Absolute)); //image1
}
else
{
likeimage.Source = new BitmapImage(new Uri("ms-appx:///images/like.png", UriKind.Absolute)); //image2
}
}
это мой xaml:
<ListView x:Name="listme">
<ListView.ItemTemplate >
<DataTemplate >
<Grid>
...
<Button Background="Gray" x:Name="m_button"/>
<Button Background="Gray" >
<Image Source="images/like.png" x:Name="likeimage"/>
</Button>
</Grid>
</DataTemplate >
</ListView.ItemTemplate >
</ListView >
то, что я получаю, это 2 элемента списка, без каких-либо изменений, помогите, пожалуйста, в том, как я могу исправить свой код, спасибо за помощь
Обновление: я использовал foreach, как это, но у меня все еще есть проблема с ListViewItems:
listme.ItemsSource = rootObject1.locals;
foreach (var item in listme.Items.Cast<Locals>())
{
if (item.fav == 1)
{
m_button.Background = new SolidColorBrush(Color.FromArgb(255, 251, 187, 9)); //jaune
}
else
{
m_button.Background = new SolidColorBrush(Color.FromArgb(255, 178, 178, 178));//gris
}
if (item.aime == 1)
{
likeimage.Source = new BitmapImage(new Uri("ms-appx:///images/coueur_rouge.png", UriKind.Absolute));
}
else
{
likeimage.Source = new BitmapImage(new Uri("ms-appx:///images/like.png", UriKind.Absolute));
}
}
например, когда я выбираю кнопку из элемента с индексом = 0, элемент с индексом = 1 будет изменен, я не знаю, почему я получаю этот результат! >_‹