2016-10-11 8 views
0

У меня есть TabbedPage, и я намерен это сделать, это передать json ListView в ContentPage, который находится под MainPage.Не удается неявно преобразовать тип 'AppName.MyListItem' в 'AppName.MySecundPage.MyListItem'?

Насколько я могу понять, потерянный приходит на место при переводе на xaml.

Может ли кто-нибудь помочь мне с этим?

Мой код выглядит следующим образом:

Мой C# файл

void OnListViewItemSelected(object sender, SelectedItemChangedEventArgs eventInfo) 
{ 
    if (eventInfo.SelectedItem != null) 
    { 
     cityItem clickedCityName = (cityItem)eventInfo.SelectedItem; 

     System.Diagnostics.Debug.WriteLine(clickedCityName.cityAddress); 
     citiesListView.SelectedItem = null; 

     SingelCityPage pcity = new SingelCityPage(); 
     pcity.currentCity = clickedCityName; 

     //Looks like I am missing something here but I don't find any reference. 
     //or is in the XML that its missing the connection? 
     Navigation.PushAsync(pcity); 
     } 
    } 

Мои Xaml

<ContentPage.Content> 
    <StackLayout> 
     <ListView x:Name="citiesListView"> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <ViewCell> 
          <ViewCell.ContextActions> 
           <AbsoluteLayout Padding="10,10,10,10"> 
            <Label Text="{Binding cityName}" AbsoluteLayout.LayoutBounds="0.0, 0.0, 0.75, 0.5" AbsoluteLayout.LayoutFlags="All" /> 
            <Label Text="{Binding cityLocation}" AbsoluteLayout.LayoutBounds="0.0, 1.0, 0.75, 0.5" AbsoluteLayout.LayoutFlags="All" /> 
            <Label Text="{Binding cityAdress}" AbsoluteLayout.LayoutBounds="1.0, 0.0, 0.5, 1.0" AbsoluteLayout.LayoutFlags="All" /> 
           </AbsoluteLayout> 
          </ViewCell.ContextActions> 
        </ViewCell> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
    </StackLayout> 
</ContentPage.Content> 
+2

Где вы получаете эту ошибку? Я не вижу, чтобы вы использовали тип, упомянутый в названии. Кажется, вы не разместили для этого код _relevant_. – Cheesebaron

ответ

0

В вашей базе кода, у вас есть (по крайней мере) 2 класса по имени MyListItem в разных Пространства имен. Можно было бы автогенерировать json deserialization, я могу только догадываться здесь.

Даже если они имеют одинаковое имя, они представляют собой разные классы, а экземпляр одного не может быть преобразован в экземпляр другого.

Убедитесь, что вы используете один и тот же тип везде.

Гадание снова, потому что вставленные фрагменты не полезны, я бы сказал, что проблема происходит на этой линии:

pcity.currentCity = clickedCityName;