Можно ли привязать свойство элемента управления к табличке данных? - PullRequest
1 голос
/ 10 августа 2011

Хорошо, звучит странно, и, вероятно, есть лучший способ, но я еще не видел его.

Я пытаюсь переустановить ListPicker под Windows Phone 7.

Мне нужно, чтобы

  1. избавился от заголовка (это просто, просто определите нулевой ListPicker.HeaderTemplate).
  2. Вынудите сборщик всегда переходить в полный режим, когданажал (снова, просто, просто установите ItemCountThreshold в 1).
  3. Восстановите шаблон элемента, используемый в FullMode (снова, просто, просто определите FullModeItemTemplate)
  4. Включите свойство ListPicker «HEADER»значение в ItemTemplate (так как когда-либо будет отображаться только один элемент, мне нужен текст заголовка, «встроенный» в один элемент).

Это то число 4, которое я не могу получить.

Я определил средство выбора списков вот так (сейчас я просто определяю шаблоны как встроенные, а не ресурсы, просто для простоты).

        <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>

Игнорирование всех очевидных форматовбиты на данный момент, проблемау меня есть то, что я не могу использовать {TemplateBinding Header} из таблицы данных.Я использовал его из ControlTemplate без проблем.

Результатом этого ItemTemplate должен быть отображаемый элемент, например

 {TextOfHeader}{Content of selected Item}>

Я просто не уверен, как поступить всвойство шаблонного элемента управления (в данном случае средство выбора списка).

Есть идеи?

1 Ответ

0 голосов
/ 10 августа 2011

Воспользуйтесь преимуществами RelativeSource :

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