我有自己的自定义控件,其依赖项属性称为“最大值(double)”,并且我为此自定义控件定义了自己的样式。在自定义控件样式中,最大值为(50)的二传手。在应用程序中,我具有属性为Maximum(double?)的视图模型。
<Style x:Key="MyCustomControlDefaultStyle" TargetType="controls:MyControl">
<Setter Property="Maximum" Value="50" />
</Style>
<controls:MyControl Maximum="{Binding Maximum}"
Style="{StaticResource MyCustomControlDefaultStyle}"
/>
如果视图模型中的最大值为null,我想自动使用MyCustomControlDefaultStyle中定义的默认值来wpf。是否有可能?谢谢你的建议
现在无法检查,但是您可以将DefaultValue放在静态属性中,然后从样式和具体Binding内部的Fallbackvalue / TargetNullValue中引用此值,例如:
<Setter Property="Maximum" Value="{x:Static ns:MyStaticClass.MyStaticProp}" />
并在Binding之内,如:
<controls:MyControl Maximum="{Binding Maximum, FallBackValue={x:Static ns:MyStaticClass.MyStaticProp}"
Style="{StaticResource MyCustomControlDefaultStyle}" />
不确定是否适用于FallBackValue。我待会儿再检查... :)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句