«Нет модуля с именем _scproxy» в OSX

Я использую OSX 10.6 с предустановленным python 2.6 и хочу установить пакеты python через easy_install или setup.py (в загруженном пакете). В моем случае я пытаюсь установить MySQLdb. В обоих случаях я получаю трассировку стека, которая заканчивается так:

...
File  "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/setuptools/command/easy_install.py", line 21, in 
    from setuptools.package_index import PackageIndex, parse_bdist_wininst
File  "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/setuptools/package_index.py", line 2, in 
   import sys, os.path, re, urlparse, urllib2, shutil, random, socket, cStringIO
File  "/System/Library/Frameworks/Python/framework/Versions/2.6/lib/python2.6/urllib2.py", line 111, in 
   from urllib import (unwrap, unquote, splittype, splithost, quote,
File  "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib.py", line 1335, in 
   from _scproxy import _get_proxy_settings, _get_proxies
ImportError: No module named _scproxy

Установка python представляет собой неизмененную предустановленную версию 2.6.1, за исключением того, что я добавил исходные файлы в папку lib. Файл "find / System / Library / Frameworks / Python. RadChart.SeriesMapping ....

Я пытаюсь привязать динамическое поведение к визуальному элементу вне логических и визуальных деревьев WPF.

Моя проблема в том, что цвет графика RadChart задан в (квазипуть): RadChart.SeriesMapping.LineSeriesDefinition.Appearance.Stroke

Изначально я хотел привязать это к свойству контекста данных диаграммы в XAML. Наивно, я просто написал обычную {Binding PlotBrush}

, что компилятор возвращал ошибку «Не удается найти управляющий элемент FrameWorkelement». После прочтения я считаю, что это означает, что разрешение контекста данных вверх по иерархии не сработало. Потому что его предки (говоря XAML) имеют типы, отличные от FrameWorkElement, и другие отношения, отличные от содержимого элемента управления содержимым. По крайней мере, так я понимаю это сейчас. Пожалуйста, поправьте меня.

Итак, я нашел "DataContext Bridge" http://www.codeproject.com/KB/WPF/AttachingVirtualBranches.aspx

Проще говоря, это говорит о том, что вы связываете свойство datacontext элемента структуры, которому во время выполнения назначен текст (не любой из тех, кто его наследует) от до контекста данных экземпляра FrameWorkElement в ресурсах . Затем тот же экземпляр объекта ресурса используется для привязки к свойству datacontext «ветви», которую вы хотите «присоединить» к динамическому наследованию DataContext. Но автор статьи имел возможность реализовать правило проверки потребителя наблюдаемого свойства. SolidColorBrush запечатан, и я полагаю, что реализовать полную кисть, даже с использованием декоратора, потребует немало усилий.

В моем случае, это не помогает мне делать то, что я хочу, но я «так близок». Так что мне интересно, есть ли какие-нибудь уловки XAML, которые могут мне помочь.


    

Однако неясно, как я это использую. Нет объекта, для которого должен быть установлен текст данных. AppearanceSettings не является элементом FrameWorkElement.


   
       Ok, how do I use the fact that I can access the datacontext here?                                         
   

Итак, следующим шагом было то, что я мог каким-то образом напрямую получить объект кисти. Я экспериментировал с такими вещами, просто возился:

.cs:

public class ObservableBrush : FrameworkElement
{
    public Brush Brush
    {
        get { return (Brush) GetValue(BrushProperty); }
        set { SetValue(BrushProperty, value); }
    }

    public static readonly DependencyProperty BrushProperty =
        DependencyProperty.Register("Brush", typeof (Brush), typeof (ObservableBrush), new UIPropertyMetadata(new SolidColorBrush(Colors.Black)));
}

Начало XAML:


    

Встроенный XAML:


     
     
          
                                                 
                                          

«Связывание» не является элементом инфраструктуры, а «Источник» не является свойством зависимости, либо, так что среда выполнения, конечно, жалуется. Я знаю, что свойство Brush никогда не вернет ничего, кроме значения по умолчанию, указанного в регистрации свойства зависимости.

Я как бы второй день собираюсь заняться этой проблемой. * Сделайте ObservableBrush настоящей кистью. Затем программно установите его (вместо этого эффективно используя стандартную привязку динамических ресурсов). Мне это не нравится. Я хотел заставить работать привязку данных. * Соедините BRUSH вместо DATACONTEXT.

XAML-часть этого работает нормально:


     

Но опять же, как привязать Brush к свойству DataContext? Есть ли какое-то переопределение, которое я могу использовать в ObservableBrush, чтобы заставить Brush динамически следовать за элементом в тексте данных?

Как насчет создания поддельного визуального элемента в дереве, а затем связать с ним ДВЕ привязки?



     
         
         
     

И это как-нибудь «свяжет» две привязки?

Или есть какой-то (не) официальный «вспомогательный класс» для этого типа функциональности?

Или я лаяю не на то дерево, и (намного) лучше решить эту проблему в коде программной части посредством динамической привязки ресурсов ?

Есть какие-нибудь мысли или наблюдения о том, что делать дальше? За исключением моей очевидной саморазрушительности из-за того, что я настаивал на привязке данных, когда динамические ресурсы должны решать эту проблему.

7
задан Askolein 8 March 2018 в 18:52
поделиться