det*_*pro 3 silverlight silverlight-toolkit dataform
我将DataForm用于具有大约40个属性的实体.我很满意表单如何显示除3个属性之外的所有属性.这3个属性恰好是项目列表.
我不想编写整个编辑模板,看起来非常适得其反.
<dataFormToolkit:DataForm AutoGenerateFields="True" CurrentItem="{Binding XXX, Mode=TwoWay, Source={StaticResource XXXViewModel}}" >
<dataFormToolkit:DataField Label="Client" >
<ListBox ItemsSource="{Binding Client}"></ListBox>
</dataFormToolkit:DataField>
</dataFormToolkit:DataForm>
Run Code Online (Sandbox Code Playgroud)
在该WCF RIA服务包括演示创建CustomDataForm他们重写一个Silverlight业务应用程序项目模板OnAutoGeneratingField和修改字段只是你想要的属性.我已经在这里复制了代码来说明这个想法,但我建议你查看真实的东西,看看他们是如何使用ReplaceTextBox扩展方法来处理数据绑定的.下载链接.
public class CustomDataForm : DataForm
{
protected override void OnAutoGeneratingField(DataFormAutoGeneratingFieldEventArgs e)
{
// Get metadata about the property being defined
PropertyInfo propertyInfo = this.CurrentItem.GetType().GetProperty(e.PropertyName);
// Do the password field replacement if that is the case
if (e.Field.Content is TextBox && this.IsPasswordProperty(propertyInfo))
{
e.Field.ReplaceTextBox(new PasswordBox(), PasswordBox.PasswordProperty);
}
// Keep this newly generated field accessible through the Fields property
this.fields[e.PropertyName] = e.Field;
// Call base implementation (which will call other event listeners)
base.OnAutoGeneratingField(e);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4315 次 |
| 最近记录: |