如何在UIElement.Margin上为绑定设置FallbackValue?

时间:2012-11-12 15:18:32

标签: wpf xaml binding syntax

考虑以下代码:

<UserControl x:Name=root>
....
    <TextBlock Text="Hello World" Margin="{Binding ElementName=root, Path=LeftButtonMargin}"/>
....
</UserControl>

现在,在绑定上设置FallBackvalue的语法是什么?
我已经尝试了一些不同的选项,但我似乎无法找到正确的语法:

Margin="{Binding ElementName=root, Path=LeftButtonMargin, FallBackValue={}10,10,0,0}"
Margin="{Binding ElementName=root, Path=LeftButtonMargin, FallBackValue={}{10,10,0,0}}"
Margin="{Binding ElementName=root, Path=LeftButtonMargin, FallBackValue={}"10,10,0,0"}"

或者这根本不可能吗?基本上,我在设计时需要这些值......

3 个答案:

答案 0 :(得分:6)

希望有效,

<UserControl.Resources>
 <Thickness x:Key="MyMargin" Bottom="5" Top="10">

 </Thickness>
<UserControl.Resources>


<TextBlock Text="Hello World" 
Margin="{Binding ...,FallBackValue={StaticResource MyMargin}}"/>

答案 1 :(得分:6)

更简单:使用单引号

Margin="{Binding ElementName=root, Path=LeftButtonMargin, FallBackValue='10,10,0,0'}"

答案 2 :(得分:2)

这对我有用:

    <TextBlock Text="Hello World">
        <TextBlock.Margin>
            <Binding ElementName="root" Path="LeftButtonMargin" FallbackValue="10, 10, 0, 0" />
        </TextBlock.Margin>
    </TextBlock>

但它相当大......