WPF: Свяжите DisplayMemberPath в поле комбинированного списка к Объекту

Я знаю три способа сделать:

1) Функции подходят для таких задач:

func (){
ls -l
}

Вызвать его, сказав func

2) Также может быть найдено другое подходящее решение:

var="ls -l"
eval $var

3) Третий напрямую использует переменные:

var=$(ls -l)
OR
var=`ls -l`

Вы можете получить вывод третьего решения хорошим способом:

echo "$var"

, а также неприятным способом:

echo $var
11
задан Andy 27 July 2009 в 22:07
поделиться

2 ответа

попробуйте следующее:

<ComboBox.ItemTemplate>
  <DataTemplate>
    <TextBlock Text="{Binding Converter={StaticResource pgTitleConv}}"/>
  </DataTemplate>
</ComboBox.ItemTemplate>

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

23
ответ дан 3 December 2019 в 04:53
поделиться

Хорошо, благодаря Botz3000 я понял, как это сделать. (Это немного странно, но работает нормально.)

Внезапно я понял: у объекта Page есть объект Document !! Дох !!

Итак, мой PageTitleConvert просто делает это:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
    if (value != null)
    {
        ImGearPage page = (ImGearPage)value;
        ImGearDocument doc = page.Document;
        int pageIndex = doc.Pages.IndexOf(page);
        pageIndex++;
        return string.Format("Page {0}", pageIndex);
    }
    return null;
}
0
ответ дан 3 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: