私はビューを持っています。私はそこにバインド可能なプロパティを持っています。このビューのXAMLでXamarinフォームバインド値を強制的に表示する
public partial class OrderCard : ContentView
{
public static readonly BindableProperty OrderProperty = BindableProperty.Create(nameof(Order), typeof(Order), typeof(OrderCard), null);
public Order Order
{
get { return (Order)GetValue(OrderProperty); }
set { SetValue(OrderProperty, value); }
}
public OrderCard()
{
InitializeComponent();
}
}
私はこのようなプロパティを注文するバインディングだ:
Text="{Binding Order.Name, Source={x:Reference Root}}"
ルートは、ビューのXAMLで名前ですOrderCard
私はこのビューを使用ページ内のすべてが正常に動作します。
しかし、それをページに追加する前にサイズを測定したいと思います。
var orderCard = new OrderCard { Order = order};
SizeRequest sizeRequest = orderCard.Measure(OrdersContainer.Width/5, OrdersContainer.Height);
しかし、バインディングが適用されていないため、間違った番号が付けられます。 ビューがページに添付されていない場合にバインディングを適用する方法を教えてください。
ダミー値ではありません。それはすべてを適切に測定していますが、バインディングを適用することはありません。ページに追加することなく測定できないのはなぜですか?測定方法は測定に必要なすべてのデータを受け取ります(私は、視野が収まるようにしなければならない幅と高さについて言います)。 しかし、私は(動的に作成された)ページに追加しようとしましたが、何も変わりませんでした。 –
バインドされた値を確認するにはどうしたらいいですか? –
Xamlローダは、適用する値が(InitializeComponentの後に)ビューの後に作成されるため、この場合バインディングを実行できません。私は何らかの形で値をチェックするように強制する必要があります。なぜなら、双方向のバインディングであり、私は値を設定し、すべてのバインディングは新しい値を設定しなければならないからです –