2011-01-25 18 views
1

私はthis.DataContext = SellerList経由でコードビハインドのコレクションでTextBlockをバインドしています。 出力は正しいですが、StringFormatを適用すると結果は表示されません。以下はxamlページのTextBlockのコードですStringFormatはthis.DataContextと連携しますか

<TextBlock Name="dateDTKey" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Bottom" 
     Text="{Binding Path=Date, StringFormat={}{0:dd-MM-yyyy}}" 
     Style="{StaticResource textStyleTextBlock}"/> 
+0

**エクストリームエクストリームの謝罪**私の愚かさのために皆さんにお邪魔して本当に申し訳ありません。 *実際には、DateTimeではなくstringプロパティに日付型の値を読み込んでいました。このため、書式設定は適用されませんでした。* モデレーターはこの質問を削除することができ、私は再び愚かさを謝罪します。 –

答えて

1

detailsSellerListingTemplateあなたは{StaticResource detailsSellerListingTemplate}を使用する必要があるリソースである場合にバインディングのソースは、文字列です。また、TextBlockは、Sourceを使用しているため、このBindingが動作するためにDataContextを必要としません。

<Window.Resources> 
    <local:DetailsSeller x:Key="detailsSellerListingTemplate"/> 
</Window.Resources> 
<TextBlock Name="dateDTKey" 
      HorizontalAlignment="Right" 
      VerticalAlignment="Bottom" 
      Text="{Binding Source={StaticResource detailsSellerListingTemplate}, 
          Path=Date, 
          StringFormat={}{0:dd-MM-yyyy}}"/> 

DetailsSellerこの

public class DetailsSeller 
{ 
    public DetailsSeller() 
    { 
     Date = DateTime.Now; 
    } 

    public DateTime Date 
    { 
     get; 
     set; 
    } 
} 

に似ています場合、これは動作しますあなたは、コレクションについて話しましたが、私はそれが結合してどのように適合するかを見ることができないので、多分私は質問で何かをmissunderstood

+0

非常に申し訳ありません......私は質問にmiscoded ....それを更新しました.....私はthis.DataContext = SellerListをバインドしています。 –

0

私はあなたの文字列形式で多くの中括弧への道があると考えています。この方法を試してください。

StringFormat={0:dd-MM-yyyy} 
+0

ListView.DataContextがthisではなくコレクションにバインドされているリストビューのGridViewColumnsで同じコードが機能しているためです.Datacontext –

+0

この 'dateDTKey.DataContext = SellerList'を実行しようとしました。問題は何か他のものがあるかもしれません –

+0

通常、TextBlockはコレクションの代わりに単一のアイテムにバインドされているため、問題が発生する可能性があります。 –

関連する問題