小编Bra*_*ick的帖子

有没有办法让标签从左到右填充空间?

这是我的代码:

<StackLayout>
   <Label x:Name="emptyLabel1" FontSize="18" XAlign="Start" TextColor="Gray" />
   <Label x:Name="emptyLabel2" FontSize="18" XAlign="Center" TextColor="Gray" />
   <Label x:Name="emptyLabel3" FontSize="18" XAlign="Center" TextColor="Gray" />
</StackLayout>
Run Code Online (Sandbox Code Playgroud)

第一个多行标签从左侧开始,但在右侧的某些行上有空格.第2和第3个多行标签居中,左右两侧各有空格.

有没有什么方法可以让所有行的标签完全填满行,从左到右完全填充o每行的第一个字符总是在左边排成一行,每行的最后一个字的最后一个字符总是行在右边?请注意,这将需要每行中的一些单词在它们之间具有不同的间隙.

xamarin xamarin.forms

16
推荐指数
1
解决办法
2676
查看次数

可以在Xamarin Forms的选项卡上使用系统图标吗?

有没有办法在使用Xamarin Forms时指定要在选项卡上显示的"系统"图标?我想使用收藏夹,书签,历史等图标,但我不想为各种平台提供我自己的图像.

使用Xamarin.iOS可以使用以下语法:

tab1.TabBarItem = new UITabBarItem (UITabBarSystemItem.Favorites, 0);
Run Code Online (Sandbox Code Playgroud)

但是我无法在跨平台的Xamarin.Forms项目中找到如何做到这一点.

这是我目前的代码:

var profilePage = new ContentPage {
    Title = "Profile",
    //This requires my own images to be added to the project whereas
    //I wish to use built-in images which are platform specific for
    //Favourites, Bookmark, More, etc...
    //Icon = "Profile.png",
    Content = new StackLayout {
        Spacing = 20, Padding = 50,
        VerticalOptions = LayoutOptions.Center,
        Children = {
        new Entry { Placeholder = "Username" },
        new Entry { Placeholder = "Password", …
Run Code Online (Sandbox Code Playgroud)

xamarin xamarin.forms

14
推荐指数
1
解决办法
3787
查看次数

如何更改<StackLayout> <Grid>屏幕以使用<RelativeLayout>?

我有这个代码,目前是和的组合

我想转向相对布局,并没有看到这么多的例子.将不胜感激任何关于如何实现这一目标的建议.

关于XAML的一些观点.

  • screenGrid或phraseGrid出现在屏幕上
  • buttonGrid或tapGrid都会出现在屏幕上
  • 按钮的垂直中心和水龙头标签应该是相同的位置.因此,当按钮未显示时,点击标签出现在与按钮相同的垂直按钮上.
  • 框架显示在选项卡页面内

我意识到这不仅仅是一个简单的问题,但我相信其他人会感兴趣.由于答案可能非常复杂,我将在几天内为此开出250点奖金.

    <Grid x:Name="emptyGrid" Grid.Row="1" Grid.Column="0" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
        <StackLayout Padding="10,0,10,0" HorizontalOptions="Center" VerticalOptions="Center">
            <Label x:Name="emptyLabel" FontSize="18" XAlign="Center" TextColor="Gray" />
        </StackLayout>
        <Button x:Name="resetButton" Text="Reset points?" TextColor="White" FontAttributes="Bold" FontSize="20" HeightRequest="60" BackgroundColor="#E19A3F" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand">
            <Button.FontSize>
                <OnPlatform x:TypeArguments="x:Double" iOS="25" Android="20" />
            </Button.FontSize>
        </Button>
    </Grid>

    <Grid x:Name="phraseGrid" Padding="20, 20, 20, 20" BackgroundColor="Transparent" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
        <Grid.RowDefinitions>
            <RowDefinition Height="6*" />
            <RowDefinition Height="6*" />
            <RowDefinition Height="80*" />
            <RowDefinition Height="13*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

        <Grid x:Name="prGrid" Grid.Row="0" Grid.Column="0" 
            Padding="5,0,0,0" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" …
Run Code Online (Sandbox Code Playgroud)

xamarin xamarin.forms

14
推荐指数
1
解决办法
427
查看次数

NETSDK1083:无法识别指定的 RuntimeIdentifier“win10-x64”

使用 .NET v8.0.100-rc.1.23455.8 在 Windows 上构建 .NET MAUI 应用程序时,出现以下错误:

NETSDK1083:无法识别指定的 RuntimeIdentifier“win10-x64”

.NET SDK错误列表中,没有太多关于此错误或如何解决它的信息:

NETSDK1083 无法识别指定的运行时标识符“{0}”。

.net maui

14
推荐指数
2
解决办法
4925
查看次数

OneSignal:如何处理Xamarin.Forms应用程序的AppDelegate中的notificationOpened?

我正在使用Xamarin.Forms实现OneSignal推送通知.

我需要将OneSignal返回的字符串传递AdditionalData给构造函数App().

所以我用来HandleNotificationOpened(OSNotificationOpenedResult result)处理通知点击并获取字符串,然后将其传递给LoadApplication(new App(myData)).

所以为此,我已经MainActivity为Android和AppDelegateiOS 编写了代码.

一切都适用于Android; 即HandleNotificationOpened()获取additionalData并传递给它LoadApplication(new App(myData)).

但是在iOS中,当我打开通知时,HandleNotificationOpened()代码不会被调用.

AppDelegate.cs

static string s = null;

public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
    OneSignal.Current.StartInit("MyKey").HandleNotificationOpened(HandleNotificationOpened).EndInit();

    if(s!=null)
    {
        LoadApplication(new App(s));
    }
    else
    {
        LoadApplication(new App("myUrl.lasso")); 
    }

    return base.FinishedLaunching(app, options);
}

private static void HandleNotificationOpened(OSNotificationOpenedResult result)
{
    OSNotificationPayload payload = result.notification.payload;
    Dictionary<string, object> additionalData = payload.additionalData;

    if (additionalData != null)
    { …
Run Code Online (Sandbox Code Playgroud)

c# xamarin.ios xamarin xamarin.forms onesignal

13
推荐指数
2
解决办法
864
查看次数

Xamarin.Forms 2.5.0和Context

今天我更新到Xamarin.Forms 2.5.0并看到,我得到以下警告:

  • 来自Android子项目:

    警告CS0618'Forms.Context'已过时:'版本2.5后,上下文已过时.请改用当地语境.'

我怎样才能获得本地环境而不是Forms.ContextAndroid上下文意味着什么?

  • 从自定义渲染器:

    警告CS0618'ButtonRenderer.ButtonRenderer()'已废弃:'从2.5版开始,此构造函数已过时.请改用ButtonRenderer(Context).

在我,ButtonRenderer我只有OnElementChanged()方法,所以我应该在这里改变什么?只需添加一个ButtonRenderer(Context)构造函数?如果我在我的平台渲染器类中执行此操作,我仍然会收到警告.有人有例子吗?在官方文件没有提到它,谷歌也不会带来一些有用的结果,除了开源代码ButtonRenderer.此更改还涉及许多其他渲染器类.

有没有人经历过其他变化,制动插件等等?

PS:我也没有发现,什么时候Device.Windows被弃用了.现在我用它取而代之Device.UWP.

c# custom-renderer xamarin xamarin.forms

13
推荐指数
3
解决办法
6246
查看次数

如何从我的应用程序在后台启动谷歌地图应用程序

首先请注意,我正在使用Xamarin for Android,因此Android Java存在轻微的语法差异.我正在从我自己的Android应用程序中的活动启动谷歌地图应用程序.我已经想出了如何依次通过转向导航模式启动它,提供语音引导方向,跳过它通常默认的常规活动.但是,默认的地图活动确实会非常短暂地出现,然后再转向活动.我可以忍受这一点.

挑战在于用户必须多次点击后退按钮才能返回我的应用程序,而不是一次又一次地从转弯活动直接回到我的应用程序,这是我更喜欢的.我知道它为什么这样做,这很自然.我的应用程序有什么方法可以在语音导航模式下启动地图,但是在后台启动它可以让我的应用程序保持在前台吗?

我已经看到,如果我使用我的后退按钮返回我的应用程序,转弯的语音方向将停止.如果我使用手机底部的窗口图标查看我最近的所有应用程序,并在启动地图应用程序后将其带到前台,语音指示仍在继续,这就是我想要的,它甚至可以让我通知覆盖在我的上方应用程序很棒.当他想将我的应用程序带到前台时,我不想告诉用户使用该窗口图标,我不希望他使用后退按钮,因为它会停止语音指示.所以这是一个艰难的地方,我不会感到惊讶,如果这只是你必须忍受的那些电话行为之一,但我希望任何人都可以提供任何建议.甚至可能使它成为片段应用程序的一部分?但是,我只是得到他们的地图,还是我会得到完整的语音指示功能?我以为我只能从他们安装的应用程序中获取,而不是他们的库.谢谢阅读.

这是我目前的代码

public void StartNavigation(string lat, string lng)
{
    String strUri = "google.navigation:q=" + lat + "," + lng;
    Intent Intent = new Intent(Android.Content.Intent.ActionView, Android.Net.Uri.Parse(strUri));
    //Intent.SetClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
    Intent.SetPackage("com.google.android.apps.maps");
    Application.Context.StartActivity(Intent);
}
Run Code Online (Sandbox Code Playgroud)

android google-maps xamarin

12
推荐指数
1
解决办法
636
查看次数

Dynamic HeightRequest在xamarin表单中无法正常工作

在我的XAML中,我有这个StackLayout:

<StackLayout x:Name="FooterWrapper"
             Spacing="0"
             VerticalOptions="FillAndExpand"
             HorizontalOptions="FillAndExpand"
             BackgroundColor="Transparent">
    <BoxView BackgroundColor="Transparent" 
             HorizontalOptions="Center" 
             VerticalOptions="CenterAndExpand" 
             x:Name="can_applyComplete_topspace" />
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width=".07*" />
            <ColumnDefinition Width=".86*" />
            <ColumnDefinition Width=".07*" />
        </Grid.ColumnDefinitions>
         <Grid.RowDefinitions>
            <RowDefinition Height=".40*"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <controls:AndroidButton x:Name="can_applycomplete_gotitbtn" 
                                Grid.Row="0" 
                                Text="{Binding SkipButtonText}" 
                                StyleId="uit_can_applycomplete_gotitbtn" 
                                FontFamily="Avenir Next" 
                                BackgroundColor="White" 
                                Grid.Column="1" 
                                HorizontalOptions="FillAndExpand" 
                                VerticalOptions="Fill" 
                                TextColor="Black" 
                                Clicked="Handle_SkipClicked" />
        <controls:CustomLabel Grid.Row="1" 
                              Grid.Column="1" 
                              Text="{i18n:TranslateExtension Text= res_cand_candjobcompliance_profilereachedlbl_list_footer}" 
                              VerticalOptions="Center" 
                              IsVisible="{Binding IsFooterVisible}" 
                              x:Name="cand_candjobcompliance_profilereachedlbl_list_footer" 
                              StyleId="uit_cand_candjobcompliance_profilereachedlbl_list_footer" 
                              TextColor="White" 
                              FontSize="13" />
    </Grid>
</StackLayout>
Run Code Online (Sandbox Code Playgroud)

我需要动态控制StackLayout的高度

在OnAppearing中,我为stacklayout设置了特定的高度

FooterWrapper.HeightRequest = 196
Run Code Online (Sandbox Code Playgroud)

在iOS工作中,My new Height设置为视图但在android中我的高度被忽略.

c# xamarin xamarin.forms

12
推荐指数
1
解决办法
3228
查看次数

Azure Functions,无法加载文件或程序集

在 Azure Functions 中使用NuGet.Protocol NuGet 包时,出现以下错误:System.Private.CoreLib: Could not load file or assembly

[4/18/2020 8:51:43 AM] The 'Function1' function is in error: Unable to load one or more of the requested types.
[4/18/2020 8:51:43 AM] Could not load file or assembly 'NuGet.Protocol, Version=5.5.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
[4/18/2020 8:51:43 AM] Microsoft.Azure.WebJobs.Host: Error indexing method 'Function1'. System.Private.CoreLib: Could not load file or assembly 'NuGet.Protocol, Version=5.5.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified. …
Run Code Online (Sandbox Code Playgroud)

.net c# nuget azure-functions

12
推荐指数
1
解决办法
7282
查看次数

当在TableView列表中更改开关时,我们如何执行操作?

我们的应用程序显示类别组列表:

List<CategoryGroupWordCountVM> categoryGroups;
Run Code Online (Sandbox Code Playgroud)

在屏幕上它看起来像这样:

运动23 [开启]

爱好5 [开启]

国家55 [开启]

职业0 [关闭]

行对象如下:

public class CategoryGroupWordCountVM : ObservableProperty {
   public int Id { get; set; }
   public string Name { get; set; }
   public bool IsToggled { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

页面XAML:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:Japanese;assembly=Japanese"        x:Class="Japanese.CategoryGroupPage" x:Name="CategoryGroupPage">
   <ContentPage.Content>
      <TableView x:Name="tableView" Intent="Settings">
      </TableView>
   </ContentPage.Content>
</ContentPage>
Run Code Online (Sandbox Code Playgroud)

行XAML:

<ViewCell 
   xmlns="http://xamarin.com/schemas/2014/forms" 
   xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
   x:Class="Japanese.MyViewCell">
   <Grid>
      <Label Text = "{Binding Name}" />
      <Label Text = "{Binding TotalWordCount}" />
      <Switch IsToggled = "{Binding IsToggled}" />
   </Grid> …
Run Code Online (Sandbox Code Playgroud)

xamarin xamarin.forms

11
推荐指数
1
解决办法
975
查看次数