Не удается разрешить тип Expander

У меня есть Expander, который больше не принимает значение Expander в привязке в свойстве AncestorType. Раньше он работал, но с тех пор, как я обновился до Xamarin forms версии 5.0.0, он больше не работает, и Visual Studio сообщает мне следующую ошибку:

Ошибка XFC0000 Не удается разрешить тип «Расширитель».

      <xct:Expander.Header>
        <Image Source="ExpanderPlus.png" WidthRequest="30" HeightRequest="30" Rotation="180">
             <Image.Triggers>
                    <DataTrigger TargetType="Image"
                                 Binding="{Binding Source={RelativeSource AncestorType={x:Type Expander}}, Path=IsExpanded}"
                                 Value="True">
                            <Setter Property="Source" Value="ExpanderClose.png"/>
                    </DataTrigger>
             </Image.Triggers>
        </Image>
</xct:Expander.Header>

2 ответа

Решение

С Expander не определен в Xamarin.Forms, вам необходимо указать, что он определен в xctпространство имен (из Expander не было найдено в Xamarin Forms 5.0.0) в вашем AncestorType, похоже на то, когда вы его потребляете, вы не делаете <Expander ..> но <xct:Expander ..>.

      xmlns:xct="http://xamarin.com/schemas/2020/toolkit"
      Binding="{Binding Source={RelativeSource AncestorType={x:Type xct:Expander}},
                      Path=IsExpanded}" Value="True">

Начиная с XF 5.0, Expander и MediaElementэлементы управления перемещены в пакет Xamarin Community Toolkit (вы можете найти об этом в примечаниях к выпуску Xamarin.Forms 5 ).

Установите пакет Xamarin.Community.Toolkit и разрешите ссылку в заголовке ContentPage, чтобы использовать xct пространство имен.

Другие вопросы по тегам