私のサーバー側のアプリケーション(TradeMarks & RetailStores)に2つのモデルがあります。 各RetailStoreには相互参照用のTradeMarkIdフィールドがあります。クライアント側ではSilverlight 4 - DataForm(AutoGeneratingField)のRIAサービスDataFieldヘッダー
Class RetailStore:
[Display(Order = 5, Name = "RetailStoreTradeMarkTitle", Description = "RetailStoreTradeMarkDescription", ResourceType = typeof(RegistrationDataResources))]
public int TradeMarkId { get; set; }
を私はAutoGeneratingField上のフィールドをキャッチし、次のようにすべての商標をリストコンボボックスでそれを置き換える:
次のように私はRetailStore(TradeMarkIdフィールド)を定義し、私のDomainServiceのメタデータ・モデルに 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を失いました!私はこの分野の検証を失った。
私の質問は何ですか?モデルバリデーション&フィールドヘッダーを返す方法はありますか?事前に
Thnaks、 WaMe