Xamlにボタンがあり、以下のようにclickイベントで呼び出すメソッドを記述しました。SdkとUserAssembliesリンク(すべてのアセンブリのリンク)を使用しているときに実行時にClickeventが見つかりません
public void login_clicked(object sender, EventArgs e)
{
try
{
ValidateUser();
}
catch (Exception ex){}
}
として
<Button BorderRadius="1" BackgroundColor="#FFCA00" Text="Sign In" TextColor="Black" Clicked="login_clicked" HorizontalOptions="FillAndExpand" HeightRequest="44" WidthRequest="220" FontSize="19">
とバックエンドのC#で方法の問題は、私がリンクオプションでSdk Assemblies
を使用する場合、これは完璧に動作しますが、私はSdk and User Assemblies
を使用する場合は、この方法がある程度取り除かれますと、私が取得することです実行時にイベントが発生していないという例外はありませんlogin_clicked
が見つかりました。
私はこれがリンカのためだと知っていますが、これの背後にある理由はわかりません。リンカーは、このメソッドが使用されているかどうかをチェックするためにXamlを解析しません(これはメソッドが必要かどうか、または削除しないことを意味します)。
以下のようにC#からイベントを登録すると、リンカーはlogin_clickedメソッドを削除しません。
btnLogin.Clicked += login_clicked;
はい、私は保存する属性を知っていました。私の主な関心事は、リンカーがxamlファイルを解析するかどうかであった。また、XamlCompilationソリューションもうまく機能します。ありがとう@ SushiHangover –