如何设置x:Static的回退值

本文关键字:Static 回退 何设置 设置 | 更新日期: 2023-09-27 18:06:52

Subj。

可以这样做以避免在设计中出现模糊视图:

<Window.Effect>
    <BlurEffect Radius="{Binding Blur, FallbackValue=0}"/>
</Window.Effect>

但是呢

<TextBlock ext="{x:Static local:App.Version}"/>

在设计时,自动属性CCD_ 1是CCD_。我可以使其成为普通属性,并分配私有字段默认值:

private static string _version = "Version1.0.0.0";
public static string Version { get { return _version; } }

仍然可能存在这样的情况,即我希望显示非默认值。例如,

"Test long version string to be visible in designer only"

是的,我知道BindingStatic在某种程度上是不同的,但是,有办法实现我想要的吗?我还想将App.Version传递到ViewModel中,并通过绑定将View绑定到它,但这更糟糕(从工作角度来看(,尽管更具mvvm概念性。

如何设置x:Static的回退值

怎么样:

<TextBlock Text="{Binding Source={x:Static local:App.Version}, TargetNullValue='In designer'}" />

请注意,您必须使用TargetNullValue,因为FallbackValue是在Binding无法获取值时使用的,而static属性不应该是这种情况。