問題: - ローカル:MvxLangがXamarinアプリケーションのMvxListViewのitemtemplateの一部である場合にリソーステキストをTextViewにバインドできませんでしたMVVMCrossのローカリゼーション機能を使用します。ローカル:MvxListがXamarinアプリケーションのMvxListViewのitemtemplateの一部であるときにMvxLangがTextViewにバインドできませんでした
私のアプリケーションはMVVMCrossを使用したXamarin.androidで、MVVMCrossのローカリゼーション機能をresxファイルとともに使用しています。 実行するサンプルはここで見つけることができます:https://github.com/pallaviak1/RestaurantBilling.Droid
私はのviewmodelに構文の下に使用してコードをローカライズされた文字列(AllBillsViewModel)BillClickedCommand取得しています: - :mvxLangがボタンの属性である地元の私のメインビューページはまた
_dialogService.ShowAlertAsync(string.Format(TextSource.GetText("InformationReceivedMessage"), bill.CustomerEmail, bill.AmountPaid), TextSource.GetText("InformationReceivedHeader"), TextSource.GetText("InformationReceivedButtonText"));
を選択した文化のリソースからのボタンテキストも表示され、うまく機能します。
<Button ... local:MvxLang="Text ViewBillsResourceText" local:MvxBind="Click NavigateAllBills" />
問題: -しかし、私はコントロールでMvxLangを使用していたときにMvxListViewの項目テンプレートの一部であるローカライズされた文字列を制御する(取り込まれていない)空白になっています。
ファイル: - 項目テンプレートビューの一部である RestaurantBilling.Droid \ RestaurantBilling.Droid \リソース\レイアウト\のListItem_Bill.axml
制御は以下のようになります -
<TextView android:layout_alignParentBottom="true"
android:layout_marginLeft="50dp"
android:layout_marginRight="16dp"
android:layout_width="90dp"
android:layout_height="wrap_content"
local:MvxLang="Text CustomerEmailTextView" />
-
<Mvx.MvxListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
local:MvxBind="ItemsSource AllBills; ItemClick BillClickedCommand"
local:MvxItemTemplate="@layout/listitem_bill" />
CustomerEmailTextViewリソースキーは、名前としてresxファイルに存在します。 :AllBillsViewModel.CustomerEmailTextView、値: "US Customer Email"。 リソースファイルはライブラリMVVMCross.Localizationに存在し、参照はRestaurantBilling.coreライブラリとandroidプロジェクトに追加されています。コアで
コード、App.csは以下のようにファイル: -
Mvx.RegisterSingleton<IMvxTextProvider>
(new ResxTextProvider(Strings.ResourceManager, currentCulture));
BaseViewModelはコードの下にあります: - :
[0:] MvxBind:Warning: 9.78 Unable to bind: source property source not found Property:TextSource on Bill
02-10 07:41:52.020 I/MvxBind (4357): 9.78 Unable to bind: source property source not found Property:TextSource on Bill
public IMvxLanguageBinder TextSource =>
new MvxLanguageBinder("", GetType().Name);
次のようにVisual Studioの出力ウィンドウに警告の取得
MVVMCross公式サイトで十分なヘルプが見つからず、同じことについて多くの議論ができませんでした。同じことが、複数のトレーニングから参照されたときにダウンロードされたサンプル「My Trains」で動作しています。
助けてください。