Xamarin формы - конвертировать XAML в c # - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть ResourceDictionary, определенный в XAML, и я хотел бы преобразовать его в c #.

У меня проблемы с преобразованием свойства OnPlatform и свойства Converters.

Какя могу преобразовать это?

<OnPlatform x:Key="VolosIconFont" x:TypeArguments="x:String">
    <On Platform="iOS" Value="VolosIconFont" />
    <On Platform="Android" Value="Fonts/VolosIconFont.ttf#VolosIconFont" />
    <On Platform="UWP, WinPhone" Value="Assets/Fonts/VolosIconFont.ttf#VolosIconFont" />
</OnPlatform>

И это?

<core:SelectedItemChangedEventArgsConverter x:Key="SelectedItemChangedEventArgsConverter" />

1 Ответ

0 голосов
/ 27 февраля 2019

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

switch(Device.RuntimePlatform)
{
    case Device.iOS:
    //reference your xaml item and apply your changes.
        break;
    case Device.Android:
        break;
    case Device.UWP:   
        break;
    case Device.macOS:
        break;
}

Если посмотреть на конвертер, то та строка, которую вы разместили, является лишь ссылкой наC # Конвертер класса.Вам не нужно отображать это в C #.Это уже там.Вам просто нужно установить привязку программно всякий раз, когда вы хотите использовать конвертер: например,

myLabel.SetBinding(myLabelProperty, new Binding("MyC#Property", null, new SelectedItemChangedEventArgsConverter(), null, null));

Не знаю точно, почему вы хотите это сделать, но мне кажется, что это неправильный подход,Попробуйте придерживаться XAML.это проще!

...