サーバー側アプリ ( TradeMarks & RetailStores ) に 2 つのモデルがあり、各 RetailStore には相互参照用の TradeMarkId フィールドがあります。私の DomainService メタデータ モデルでは、次のように RetailStore(TradeMarkId フィールド) を定義しました。
Class RetailStore:
[Display(Order = 5, Name = "RetailStoreTradeMarkTitle", Description = "RetailStoreTradeMarkDescription", ResourceType = typeof(RegistrationDataResources))]
public int TradeMarkId { get; set; }
クライアント側では、AutoGeneratingField でフィールドをキャッチし、次のようにすべての商標をリストするコンボボックスに置き換えます。
if (e.PropertyName == "TradeMarkId")
{
ComboBox TradeMarkIdComboBox = new ComboBox { DisplayMemberPath = "TradeMarkName" };
Binding itemsSource = new Binding("TradeMarks") { Source = this.retailStoreDomainDataSource.DomainContext };
Binding selectedItem = new Binding("TradeMark") { Mode = BindingMode.TwoWay };
TradeMarkIdComboBox.SetBinding(ComboBox.ItemsSourceProperty, itemsSource);
TradeMarkIdComboBox.SetBinding(ComboBox.SelectedItemProperty, selectedItem);
DataField TradeMarkIdField = new DataField
{
Content = TradeMarkIdComboBox,
Label = e.Field.Label
};
e.Field = TradeMarkIdField;
}
バインディングに関してはすべて完全に機能しますが、モデルで定義した "RetailStoreTradeMarkTitle", Description = "RetailStoreTradeMarkDescription" DisplayAttributes を失いました。このフィールドの検証を失いました。
だから私の質問は何を間違っているのですか?モデルの検証とフィールド ヘッダーを取得する方法はありますか??
WaMeさん、よろしくお願いします