2016-12-14 2 views
1

나는이xamarin 양식의 listview에서 선택한 항목의 배경색을 변경하는 방법은 무엇입니까?

내가 기본 목록보기 템플릿을 시도
lvMenu.ItemSelected += GotoPage; 
    private void GotoPage(object sender, SelectedItemChangedEventArgs e) 
    { 
     var item = e.SelectedItem as MasterPageItem; 
     if (item != null) 
     { 
      //Change bg 
      if (item.Title == "Logout") 
      { 
       LogoutUser(); 
      } 
      else 
      { 
       NavigationPage nPage = new NavigationPage((Page)Activator.CreateInstance(item.TargetType)) { 
        Title = item.Title 
       }; 
       this.Detail = nPage; 
       this.IsPresented = false; 
      } 
     } 
    } 
    public class MasterPageItem 
    { 
     public string Title { get; set; } 
     public Type TargetType { get; set; } 
    } 

등이

 <StackLayout Spacing="0"> 
     <ListView x:Name="lvMenu" SeparatorColor="Green"> 
      <ListView.ItemTemplate> 
      <DataTemplate> 
       <ViewCell> 
       <StackLayout Padding="10"> 
        <Label HorizontalOptions="FillAndExpand" VerticalOptions="Center" Text="{Binding Title}" TextColor="#03a9f4" /> 
       </StackLayout> 
       </ViewCell> 
      </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
     </StackLayout> 

또한 ItemSelected 한 이벤트 핸들러하지만, 행운처럼 ListView에 있습니다. 누구나 선택한 항목의 기본 배경색을 변경하는 방법을 제안 할 수 있습니까?

+0

가능한 복제 [Xamarin.Forms의 ListView : 탭핑 항목의 강조 표시 색상을 설정합니다 (http://stackoverflow.com/questions/25885238/xamarin-forms-listview- set-the-highlight-a-tapped-item) –

답변

3

사용이 코드

List.ItemSelected += (sender, e) => 
{ 
    if (List.SelectedItem != null || e.SelectedItem != null) 
    { 
     ((ListView)sender).SelectedItem = null; 
    } 
}; 
관련 문제