2017-01-19 1 views
2

이렇게 몇 가지 질문을 보았습니다. 그러나 나에게 맞는 답변이 없습니다! 여기 내 축소 된 코드이다 : 나는 '이미지 크기'라벨 아래에 볼 것으로 예상하고내 StringFormat이 WPF에서 작동하지 않는 이유

<Grid Margin="10,4,2,3"> 

    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="150" /> 
    </Grid.ColumnDefinitions> 

    <Image Name="myImage" /> 

    <WrapPanel Orientation="Vertical" Grid.Column="1" > 
     <Label x:Name="labelDimensions" Content="Image Dimensions" /> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="3*" /> 
       <ColumnDefinition Width="1*" /> 
       <ColumnDefinition Width="3*" /> 
      </Grid.ColumnDefinitions> 

      <Label Grid.Column="0" 
        x:Name="imageWidth" 
        Content="{Binding Path=ActualWidth, 
          ElementName=myImage, 
          StringFormat={}{0:1234.5}}" /> 
      <Label Grid.Column="1" x:Name="label3" Content=" x " /> 
      <Label Grid.Column="2" 
        x:Name="imageHeight" 
        Content="{Binding Path=ActualHeight, 
          ElementName=myImage, 
          StringFormat={}{0:1234.5}}" /> 
     </Grid> 
    </WrapPanel> 

</Grid> 

상관없이 내가 뭘 "641.3 X 480.0"하지만 같은, 그것은 물건 등으로 나온다 "641.30000000 x 480"입니다.

{0 : 1234.5}와 {0 : #, #. #} 같은 형식을 사용했지만 효과가 있습니다. 나는 ConentStringFormat을 한 가지 대답으로 제안했으나 컴파일조차하지 않았다.

모든 조언은 대단히 감사하겠습니다.

+0

. 그것들이 없으면 컴파일되지 않습니다. – user41013

+0

'{0 : F1}'을 사용해 보셨나요? ([표준 숫자 형식 문자열] (https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110) .aspx) 참조) – stakx

+0

지금 받았습니다. 크기를 조정하면 "639.00000 x 426.00000"과 같은 값을 얻을 수 있으므로 차이는 없습니다. 나는 그것이 형식 문자열 자체라고 생각하지 않는다. 다른 것은 WPF가 그것을 완전히 무시하는 것으로 보인다. – user41013

답변

1

대신 ContentStringFormat을 사용하십시오.

StringFormatString 속성에 바인딩 할 때만 사용됩니다. here을 볼 수 있으므로 Content 속성은 Label이므로 개체 유형입니다. 따라서 StringFormat은 작동하지 않습니다. StringFormat={}{0:F1}을 제공

1

보십시오 : 당신이 당신의 형식으로 선두에 일반 텍스트가없는 경우 분명히, 그들이 필요

<Label Grid.Column="0" 
     x:Name="imageWidth" 
     Content="{Binding Path=ActualWidth, 
       ElementName=myImage, 
       StringFormat={}{0:F1}" /> 
<Label Grid.Column="1" x:Name="label3" Content=" x " /> 
<Label Grid.Column="2" 
     x:Name="imageHeight" 
     Content="{Binding Path=ActualHeight, 
        ElementName=myImage, 
        StringFormat={}{0:F1}" /> 
관련 문제