我是这个很棒的平台的新手,我做了一个非常简单的例子,它只包含一个XAML页面.昨天它完美无瑕地工作,但是今天运行它时,它突然冒出了这个例外
这个例外:
HelloPage.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"
x:Class="SAP.HelloPage">
<!-- la configuration personalisé pour chaque system d'éxploitation -->
<ContentPage.Padding>
<OnPlatform x:TypeArguments="Thickness"
iOS="0,10,0,0"
Android="0,40,0,0">
</OnPlatform>
</ContentPage.Padding>
<StackLayout HorizontalOptions="Center" BindingContext="{x:Reference sliderID}">
<Button Clicked="Button_Clicked" Text="Suivant"/>
<Label x:Name="lb_font" Text="Font is :"/>
<Slider Minimum="16" Maximum="45" x:Name="sliderID" ValueChanged="sliderID_ValueChanged"/>
<Label x:Name="lb_quote"/>
</StackLayout>
<ContentPage>
Run Code Online (Sandbox Code Playgroud)
HelloPage.xaml.cs:
public partial class HelloPage : ContentPage
{
// quotes
List<string> quotes = new List<string>()
{
"Bienvenu, la première paragraphe",
"une autre quote, cella j'adore",
"La troisième est magnifique"
};
int pos = 0;
public HelloPage()
{
InitializeComponent();
// settings initialisation
lb_quote.Text = quotes.ElementAt(0);
}
private void Button_Clicked(object sender, EventArgs e)
{
if(pos == quotes.Count)
{
pos = 0;
}
lb_quote.Text = quotes.ElementAt(pos);
pos += 1;
}
private void sliderID_ValueChanged(object sender, ValueChangedEventArgs e)
{
lb_font.Text ="Font Size : " + sliderID.Value.ToString();
lb_quote.FontSize = sliderID.Value;
}
}
Run Code Online (Sandbox Code Playgroud)
Pau*_*her 22
这是一个相当微妙,很难赶上(好,其实也不是很难赶上,只是把try/catch身边InitializeComponent,你可以检查除外).
XAML是声明性的,它使我们相信控件的属性顺序无关紧要.不幸的是,因为在某些时候声明性XAML 将变成一系列属性赋值,属性的顺序确实很重要,它Slider是导致异常被抛出的属性的顺序.
你可以想象你Slider的构建方式如下:
var slider = new Slider();
slider.Minimum = 16;
slider.Maximum = 45;
...
Run Code Online (Sandbox Code Playgroud)
但Slider.Minimum并Slider.Maximum似乎以检查是否传递的值是有效的.
代码开始时,Maximum默认值为0.但在分配其值之前,Minimum将为s的值赋值16.
此时,您的Minimum值(16)大于默认Maximum值(0),因此ArgumentOutOfRangeException抛出了一个值.
要解决它,只需设置值Maximum之前Minimum,它确实有效.
| 归档时间: |
|
| 查看次数: |
31233 次 |
| 最近记录: |