有没有办法避免在属性网格中定义多个相同类型的重复属性模板

时间:2014-08-11 22:55:35

标签: c# datatemplate propertygrid

我正在使用PropertyGrid,并通过定义自定义属性模板来覆盖标准编辑框和自定义NumerictextBox,如下所示:

        <attributeTemplates:AccountSetupTemplates.NumericTextBox>
        <DataTemplate DataType="{x:Type viewModels:AccountSetupViewModel}">
            <Grid>
                <TextBox DataContext="{StaticResource AccountSetupViewModel}" MaxLength="7" Text ="{Binding         Attributes.Port}">
                    <i:Interaction.Behaviors>
                        <behaviors:NumericTextBoxBehavior/>
                    </i:Interaction.Behaviors>
                </TextBox>
            </Grid>
        </DataTemplate>
    </attributeTemplates:AccountSetupTemplates.NumericTextBox>

然后我用PropertyGrid替换PropertyGrid中的标准编辑框。如您所见,此特定NumericTextBox绑定到Port字符串。

问题是还有其他几种情况应该使用NumericTextBox(大约五种情况),在每种情况下,控件都需要绑定到除Port之外的其他字符串。

目前,这意味着我必须定义几个这样的属性模板,这看起来很愚蠢。有没有一种方法可以多次重复使用相同的attributeTemplate,每个实例绑定到不同的属性字符串?

感谢。

0 个答案:

没有答案