我正在寻找一种将UI元素绑定到复杂类型的方法,并将另一种复杂类型作为FallBackValue
。不幸的是,我没有找到关于该主题的任何内容。当我将FallBackValue
设置为属性或类型的名称时,它始终显示为string
:
<ContentControl Content="{Binding MyPathSelector, FallbackValue=model:PathSelector}"/>
在这种情况下是字符串
模型:PathSelector
将显示
答案 0 :(得分:2)
如果您想避免使用标记语法,或者对多个绑定使用相同的回退对象,则可以使用资源:
<Window.Resources>
<model:PathSelector x:Key="FallbackPathSelector" />
</Window.Resources>
...
<ContentControl Content="{Binding MyPathSelector,
FallbackValue={StaticResource FallbackPathSelector}}"/>
答案 1 :(得分:0)
我必须在标记语法中添加绑定而不是属性语法,在那里我可以引用复杂的磁带:
<ContentControl>
<ContentControl.Content>
<Binding Path="MyPathSelector">
<Binding.FallbackValue>
<model:PathSelector />
</Binding.FallbackValue>
</Binding>
</ContentControl.Content>
</ContentControl>