1
我有以下情況,我希望使用2個不同的標籤,具體取決於我使用的設備(手機或平板電腦)。Xamarin - 是否可以在OnIdiom中包裝的xaml元素上使用x:Name?
<ContentPage xmlns:local="namespace;assembly">
<ContentPage.Content>
<Label x:Name="someLabel" Text="Not important"/>
<!-- some views here -->
<OnIdiom x:TypeArguments="View">
<OnIdiom.Phone>
<Label x:Name="myLabel" Text="{Binding InvoiceURL}"/>
</OnIdiom.Phone>
<OnIdiom.Tablet>
<Label x:Name="myLabelTablet" Text="{Binding InvoiceURL}" />
</OnIdiom.Tablet>
</OnIdiom>
<!-- some views here -->
</ContentPage.Content>
</ContentPage>
這是我希望執行的代碼,但它不會建由於錯誤:
public MyPage()
{
InitializeComponent();
someLabel.Text = "Hello World";
if (Device.Idiom == TargetIdiom.Phone)
doSomething(myLabel);
else if (Device.Idiom == TargetIdiom.Tablet)
doSomething(myLabelTablet);
}
是我得到的錯誤如下:
The name 'myLabel' does not exist in the current context
The name 'myLabelTablet' does not exist in the current context
會是什麼一個很好的方法來解決這個問題? 我得到這些錯誤的原因是什麼?