【问题标题】:How do I set the FallbackValue for a Binding on UIElement.Margin?如何为 UIElement.Margin 上的绑定设置 FallbackValue?
【发布时间】:2012-11-01 00:46:43
【问题描述】:

考虑以下代码:

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

现在,在 Binding 上设置 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"}"

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

【问题讨论】:

    标签: wpf xaml binding syntax


    【解决方案1】:

    希望有效,

    <UserControl.Resources>
     <Thickness x:Key="MyMargin" Bottom="5" Top="10">
    
     </Thickness>
    <UserControl.Resources>
    
    
    <TextBlock Text="Hello World" 
    Margin="{Binding ...,FallBackValue={StaticResource MyMargin}}"/>
    

    【讨论】:

      【解决方案2】:

      这对我有用:

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

      但它相当大......

      【讨论】:

        【解决方案3】:

        更简单:使用单引号

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

        【讨论】:

        • 多个不同边距的公认答案
        猜你喜欢
        • 2010-12-27
        • 1970-01-01
        • 2013-06-23
        • 2015-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-23
        • 1970-01-01
        相关资源
        最近更新 更多