0

Xamarin とカスタム テーブル セル (UITableViewCell から派生) を使用すると、これは正常に機能します。

[Register("MyCell")]
public class MyCell: UITableViewCell
{
    private UILabel myLabel;

    public MyCell(IntPtr handle)
        : base(handle)
    {
        myLabel= new UILabel()
        {
            Font = UIFont.SystemFontOfSize(16),
            Text = "My Label",
            BackgroundColor =  UIColor.Cyan
        };

        ContentView.Add(myLabel);
    }
}

ただし、代わりに派生した場合MvxTableViewCell(最終的にセルをデータ バインドしたいため)、次のContentView.Add(myLabel)行で例外がスローされます。

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

これは、データをバインドしようとする前です。

何が起こっているのですか?Mvx を使用してコードでカスタム セルを作成する正しい方法は何ですか? ファイルを使用して Mvx でカスタム セルを動作させ.xibたことがありますが、PC で Visual Studio を、Mac で Xamarin Studio を使用しようとすると、少し扱いに​​くいようです。

4

1 に答える 1

1

コードが上記とまったく同じであり、これをUITableViewCell変更MvxTableViewCellするために外部でバインディングを行っていない場合、これを引き起こす MvxTableViewCell には何もありません (MvxTableViewCell.cs から)UITableViewCell

私の意見では、最善の策は、もう少し基本的な情報を収集することです。

  • その内部例外はありTargetInvocationExceptionますか?もしそうなら、その内部例外はどこでスローされますか?
  • ここで反射自体がどこで起こっているのですか?

それを解決できれば、問題をデバッグして解決するチャンスが増えるかもしれません

于 2013-06-21T14:21:25.007 に答える