2012-11-12 19 views
5

Si consideri il seguente frammento di codice:Come si imposta FallbackValue per un binding su UIElement.Margin?

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

Ora, qual è la sintassi per impostare il FallBackvalue sul legame?
ho provato alcune opzioni differenti già, ma io non riesco a trovare la sintassi corretta:

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"}" 

O è questo non è possibile a tutti? Fondamentalmente, ho bisogno di questi valori in fase di progettazione ...

risposta

4

Speriamo che funziona,

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

</Thickness> 
<UserControl.Resources> 


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

Si tratta di opere per me:

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

ma la sua piuttosto grande ...

+1

entrambe buone risposte ma, posso solo segnare 1 come corretto .... mi dispiace – RoelF

5

Più semplice: utilizzare le virgolette singole

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