Триггер WPF на основе Типа объекта

Поскольку django может быть выполнен несколькими способами, и только modpython дает Вам тесную интеграцию с Apache, я не полагаю, что существует путь к django для входа, Вы в основном на основной подлинной аутентификации Apache должны действительно быть сделаны на прикладном уровне, поскольку это даст Вам намного больше контроля и будет более простым. Вы действительно не хотите стычку совместного использования userdata между Python и Apache.

, Если Вы не возражаете использовать исправленную версию Django тогда, существует патч в http://www.djangosnippets.org/snippets/56/ , который даст Вам некоторое промежуточное программное обеспечение для поддержки основного автора

, Основной автор действительно довольно прост - если пользователь не зарегистрирован, Вы возвращаетесь, 401 аутентификация потребовала кода статуса. Это запрашивает браузер отображать поле входа в систему. Браузер тогда предоставит имя пользователя и пароль как bas64 закодированные строки. Статья в Википедии http://en.wikipedia.org/wiki/Basic_access_authentication довольно хороша.

, Если патч не делает то, что Вы хотите тогда, Вы могли реализовать основного автора сами вполне быстро.

36
задан Exist 30 October 2009 в 21:09
поделиться

2 ответа

Почему бы просто не использовать преобразователь, который принимает объект и возвращает строку типа объекта?

Binding = "{Binding SelectedItem, Converter = {StaticResource ObjectToTypeString}}"

и определить преобразователь как :

public class ObjectToTypeStringConverter : IValueConverter
{
    public object Convert(
     object value, Type targetType,
     object parameter, System.Globalization.CultureInfo culture)
    {
        return value.GetType().Name;            
    }

    public object ConvertBack(
     object value, Type targetType,
     object parameter, System.Globalization.CultureInfo culture)
    {
        // I don't think you'll need this
        throw new Exception("Can't convert back");
    }
}

Вам нужно будет объявить статический ресурс где-нибудь в вашем xaml:

<Window.Resources>
    <convs:ObjectToTypeStringConverter x:Key="ObjectToTypeString" />
</Window.Resources>

Где «convs» в данном случае - это пространство имен, в котором находится конвертер.

Надеюсь, это поможет.

33
ответ дан 27 November 2019 в 05:28
поделиться

Использование преобразователя, предложенного AndyG, является хорошим вариантом. В качестве альтернативы вы также можете использовать разные DataTemplate для каждого типа цели. WPF автоматически выберет DataTemplate , соответствующий типу объекта

.
5
ответ дан 27 November 2019 в 05:28
поделиться
Другие вопросы по тегам:

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