想要在XAML中添加一个样式到我的标签中,我偶然发现了Xamarin显影剂指南。
在那里,他们使用绑定到ResourceDictionary的ContentPage.Resources。我已经尝试过模仿这一点,在编译好之后,应用程序就会启动并返回一个NullReferenceException。
我尝试将字典添加到Grid.Resources中,并得到了相同的异常。
我使用Xamarin.Forms v2.3.1.114与Prism.Forms v6.2一起使用,我不知道其中哪个是引起问题的原因,或者是其他原因共同造成的。
这是我的XAML:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="BetulaApp.Views.MainPage"
Title="MainPage">
<ContentPage.Resources>
<ResourceDictionary>
<Style x:Key="TitleStyle" TargetType="Label">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="FontSize" Value="30" />
<Setter Property="FontAttributes" Value="Bold" />
<Setter Property="Margin" Value="0,20,0,20" />
</Style>
</ResourceDictionary>
</ContentPage.Resources>
<Grid>
<Label Text="{Binding Title}"
Style="{StaticResource TitleStyle}" />
</Grid>
</ContentPage>
在这件事上的任何帮助都会很棒!
E1添加了异常信息:
CallStack不在加载模块中。外部代码
0x95 in Xamarin.Forms.Platform.Android.AppCompat.Platform.LayoutRootPage at C:\BuildAgent\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\AppCompat\Platform.cs:279,5 C# 0x12 in Xamarin.Forms.Platform.Android.AppCompat.Platform.Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout at C:\BuildAgent\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\AppCompat\Platform.cs:196,5 C# 0x20 in Xamarin.Forms.Platform.Android.PlatformRenderer.OnLayout at C:\BuildAgent\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\PlatformRenderer.cs:73,4 C# 0x12在/Users/builder/data/lanes/3540/1cf254db/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.ViewGroup.cs:3427,4 C#的Android.Views.ViewGroup.n_OnLayout_ZIIII
发布于 2016-08-20 10:48:19
感谢@nishantvodoo建议移除这位策划人。我到处乱搞,是导致错误的“VerticalAlignment”策划人。
发布于 2016-08-21 22:28:02
Xamarin.Forms没有用于View
的VerticalAlignment
属性,请尝试使用VerticalOptions
。
https://stackoverflow.com/questions/39042001
复制