Непредсказуемое изменение стиля от кнопки в WebAssembly через Xamarin.Forms и Uno Platform - PullRequest
0 голосов
/ 09 февраля 2020

Я занимаюсь разработкой кроссплатформенного приложения Xamarin.Forms. Теперь я добавил экспериментальную поддержку WebAssembly через платформу Uno.

В платформе Uno пользовательский интерфейс WebAssembly зависит от пользовательского интерфейса UWP. Как вы видите внизу, у меня есть кнопка на моей ContentPage, и она отвечает на изменение размера и не пропускает текущее предложение:

enter image description here

enter image description here

Однако, в WebAssembly, текст кнопки идет вправо, как вы видите:

enter image description here enter image description here

Мой специальный элемент ContentView внутри ScrollView и StackLayout объединяется следующим образом:

            <Grid x:Name="ResultGrid" Grid.Row="1">
                <StackLayout>
                    <ScrollView x:Name="Scroller" >
                        <StackLayout x:Name="DataStack" Margin="30" />
<!-- Contentview added inside DataStack via code . -->
                    </ScrollView>
                </StackLayout>

            </Grid>

Мой ContentView:

<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms" 
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             x:Class="ACM_SearchEngine_xFormsWASM.UserControls.SearchResultCapsule" >
  <ContentView.Content>
        <Grid x:Name="ResultDataViewer" Margin="0,10">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>

            <Frame BackgroundColor="#4CB8C282" BorderColor="#343434" CornerRadius="10" Grid.RowSpan="2" Grid.ColumnSpan="3"></Frame>
            <Image x:Name="FileLogo" Margin="10" Source="Assets\journalcover_small.png" Grid.RowSpan="2" Grid.ColumnSpan="1" WidthRequest="96" HeightRequest="96" />
            <Button x:Name="Buy_Button" Text="Satın Al" FontAttributes="Bold" TextColor="#e2e2e2" BackgroundColor="#2A52BE" FontFamily="Segoe UI" Grid.Column="2" Grid.ColumnSpan="1" Grid.RowSpan="1"  CornerRadius="5"  VerticalOptions="Start" HorizontalOptions="Center" FontSize="15.667" Grid.Row="0" Margin="0,10,10,0" WidthRequest="100" />
            <Label x:Name="Issue_TitleMonthYear_Label" FontSize="18.667" FontAttributes="Bold" FontFamily="Segoe UI Bold" Grid.Column="1" Grid.ColumnSpan="1" Grid.RowSpan="1" Margin="10"></Label>
            <Label x:Name="IssueNumber_Label" Text="1" FontSize="18.667" FontAttributes="Bold" FontFamily="Segoe UI Bold" Grid.RowSpan="2" Grid.ColumnSpan="1" VerticalOptions="Center" HorizontalOptions="Center" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" Margin="0,8,0,0" ></Label>
            <Label x:Name="ArticlesList_Label" TextType="Html" Margin="10" Grid.Column="1" Grid.ColumnSpan="1" Grid.Row="1" Grid.RowSpan="1" FontSize="15.667" TextColor="#36454F" FontFamily="Segoe UI Bold" FontAttributes="Italic"  />
        </Grid>
    </ContentView.Content>
</ContentView>

Блок добавления кода:

 private void ContentPage_Appearing(object sender, EventArgs e)
        {
            SearchKeyword_Title.Text = string.Format("'{0}'  anahtar kelimesi arama sonuçları:", search_keyword);


            var z = new SearchCapsule_IssueCreator(32, SearchCapsule_IssueCreator.Months.Eylül.ToString(), SearchCapsule_IssueCreator.Months.Ekim.ToString(), 2020, "");

            var t = new SearchCapsule_IssueCreator(21, SearchCapsule_IssueCreator.Months.Nisan.ToString(), SearchCapsule_IssueCreator.Months.Mayıs.ToString(), 2020, "");

            z.AddArticle("XAML - HTML dönüşümü nasıl yapılır ?", 15, 20);
            z.AddArticle("Bu bir test yazısıdır.", 45, 60);

            t.AddArticle("UNO Platform Hakkında.", 3, 10);
            t.AddArticle("Deneme 1-2-3.", 22, 30);

            var x = new SearchResultCapsule(z);

            var y = new SearchResultCapsule(t);

            DataStack.Children.Add(x);
            DataStack.Children.Add(y);

        }

Как я могу предотвратить эту проблему? Спасибо.

...