0

こんにちは、DataTemplate 内にある textBlock の値をバインドしたいのですが、TextBlock のテキスト プロパティは、ファイル/フォルダーのリストに従ってランタイムを変更します。以下のコードを書きましたが、文字列は空です。私の作業環境は、Visual Studio 2012 を搭載した Windows Phone 8 です。

<Grid x:Name="ContentPanel">
<phone:LongListSelector>    
    <phone:LongListSelector.ListFooterTemplate >
        <DataTemplate >
            <TextBlock  Name="tbfooter" Text="{Binding FooterText, Mode=OneWay}" />
        </DataTemplate>
    </phone:LongListSelector.ListFooterTemplate>
</phone:LongListSelector>  

この textBlock name= tbfooter は、実行時に Footertext 値で更新する必要があります。

コードビハインドで、このプロパティを次のように定義しました

private int _footerText;
public int FooterText
{
   get
   {
      return this._footerText;
   }
   set
   {
      this._footerText=value
      NotifyPropertyChanged("FooterText");
   }
}

ただし、textBlock tbfooter の値は null であり、何も表示されず、単に null です。誰でも私を助けてくれますか?

編集:ここで XAML コードを再度更新しました。ここでは MVVM に従っていません。これは単純な Windows Phone アプリです。どんな助けでも大歓迎です。

4

4 に答える 4

0
private int _footerText;
public int FooterText
{
   get
   {
      return this._footerText;
   }
   set
   {
      this._footerText=value;  //  <<-----------You might miss this!
      NotifyPropertyChanged("FooterText");
   }
}
于 2013-04-25T09:05:00.067 に答える
0

プロパティセッターで、変更を通知する前に値を設定する必要があるようです。次のようなことを試してください

private int _footerText;
public int FooterText
{
   get
   {
      return this._footerText;
   }
   set
   {  
      this._footerText = value;
      NotifyPropertyChanged("FooterText");
   }
}
于 2013-04-25T09:07:42.707 に答える
0

を使用する場合DataTemplateDataContextDataTemplate現在選択されているアイテムです。タイプ T のリストにa をバインドしている場合LongListSelector、このタイプ T のバインドを介してプロパティにアクセスできます。

現在の DataContext ではない Viewmodel のプロパティにバインドしたい。このため、結果は null です。

このコードを試してください

<Grid x:Name="ContentPanel">
<phone:LongListSelector>    
    <phone:LongListSelector.ListFooterTemplate >
        <DataTemplate >
            <TextBlock Name="tbfooter"
                    DataContext="{Binding Path=DataContext,RelativeSource={RelativeSource AncestorType=UserControl}}"
                    Text="{Binding FooterText, Mode=OneWay}" />
        </DataTemplate>
    </phone:LongListSelector.ListFooterTemplate>
</phone:LongListSelector> 
于 2013-04-25T13:14:29.147 に答える