对XAML绑定FallBackValue使用复杂类型

时间:2017-06-29 13:23:00

标签: c# wpf xaml data-binding

我正在寻找一种将UI元素绑定到复杂类型的方法,并将另一种复杂类型作为FallBackValue。不幸的是,我没有找到关于该主题的任何内容。当我将FallBackValue设置为属性或类型的名称时,它始终显示为string

<ContentControl Content="{Binding MyPathSelector, FallbackValue=model:PathSelector}"/>

在这种情况下是字符串

  

模型:PathSelector

将显示

2 个答案:

答案 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>