2017-01-19 15 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を使用してください。

StringFormatは、Stringのプロパティにバインドする場合にのみ使用されます。 のプロパティLabelhereのようにオブジェクトタイプですので、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}" /> 
関連する問題