2011-08-10 10 views
1

[OK]をクリックすると、奇妙に聞こえる可能性があります。しかし、まだ見たことがありません。私がやろうとしている何データテンプレートからコントロールのプロパティにバインドすることはできますか?

は、私は、ちょうどヌルListPickerを定義する(それは簡単だヘッダを取り除く

  1. にある必要なもののWindows Phone 7

    下ListPickerのスタイルを変更です。 HeaderTemplate)。

  2. クリックしたときに常にピッカーがフルモードになるようにします(もう一度、簡単に、ItemCountThresholdを1に設定するだけです)。
  3. スタイルを変更FullModeに(再び、簡単に、ちょうどFullModeItemTemplateを定義)
  4. 一つだけのアイテムが今まで表示されますので、ItemTemplateに(にListPickerの「HEADER」プロパティの値を組み込む、私は「埋め込まれたヘッダーテキストを必要とするときに使用ItemTemplateに1つの項目の中で)。

私が得ることができないその4番です。

私はlistpickerをそういうふうに定義しました(私は、単純に物事を単純にするために、現在はリソースの代わりにテンプレートのインラインを直接定義しています)。

 <phonekit:ListPicker Header="Header Text" x:Name="ListOfSounds" 
          SelectedItem="{Binding Path=DepartureChime, Mode=TwoWay, Converter={StaticResource EnumDescriptionToStringConverter}}" 
          ItemCountThreshold="1"> 
      <phonekit:ListPicker.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Orientation="Horizontal" Background="Transparent"> 
         <TextBlock Text="{TemplateBinding Header}" /> 
         <TextBlock Text="{Binding}" /> 
         <TextBlock Text=">" /> 
        </StackPanel> 
       </DataTemplate> 
      </phonekit:ListPicker.ItemTemplate> 

は、今のところ、すべての明白なフォーマットのビットを無視し、私が抱えている問題は、私はDataTemplateを内部から{TemplateBindingのヘッダ}を使用できないことです。私はControlTemplateから問題なく使用しました。このItemTemplateに結果が項目でなければなりません

は、私はちょうどテンプレートコントロール(この場合はlistpicker)のプロパティで取得については移動するかどうかはわかりません、このような

{TextOfHeader}{Content of selected Item}> 

として表示しました。

アイデア?

+0

WP7は、Silverlight、WPFない十分な –

+0

真を使用しています。あなたが始めているとき、彼らは両方とも非常によく似ています。 – DarinH

答えて

0

RelativeSourceの利点を取る:

<TextBlock Text="{Binding Path=Header, RelativeSource={RelativeSource AncestorType={x:Type phonekit:ListPicker}}}" /> 
+0

「RelativeSource」は、7.0がSilverlight 3を使用するため、Mango/7.1 SDKをターゲットにしている場合にのみ利用可能です。 –

+0

私はrelativesourceを見つけましたが、それを動作させることはできませんでした。 – DarinH

+0

前のコメントを編集できないので、ここでもまたそれがあります。 – DarinH

関連する問題