좋아, 이상하게 들리 겠지만 더 나은 방법이있을 수 있지만 아직 보지 못했다. 내가 할 노력하고있어데이터 템플릿에서 컨트롤의 속성에 바인딩 할 수 있습니까?
난 단지 널 ListPicker을 정의 (즉, 쉽게 헤더를 제거
- 이다 필요한 것은 윈도우 폰 7
아래 ListPicker 스타일을 변경할 수 있습니다. HeaderTemplate).
- 클릭 할 때 선택기가 항상 전체 모드로 전환되도록하십시오 (다시 한번 말하면, 쉽게, ItemCountThreshold를 1로 설정하십시오).
- 의 모양과는 ItemTemplate을가 (다시, 쉽게, 단지 정의한 FullModeItemTemplate) FullMode
- 보여 그 어느 것 하나의 항목 만 이후 ItemTemplate을 (에 ListPicker의 "HEADER"속성 값을 통합에, 내가 헤더 텍스트를 필요로 할 때 "내장 사용 "한 항목 내에서).
나는 얻을 수없는 그 숫자 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에서 아무 문제없이 사용했습니다. 내가 템플릿 컨트롤 (이 경우 listpicker)의 속성에서 것에 대해 이동하는 방법 만 잘 모르겠어요 같은
{TextOfHeader}{Content of selected Item}>
로
이 ItemTemplate을의 결과가 있어야한다 항목이 표시됩니다.
아이디어가 있으십니까? RelativeSource의
WP7은 실버, 충분히 WPF –
사실이 아니다를 사용합니다. 당신이 밖으로 시작할 때, 그들은 매우 비슷하게 보입니다. – DarinH