Выборка данных из MySQL с использованием php не дает результата

Да, лучший способ, безусловно, существует. Вот он:

Пошаговое руководство сократилось мной на основе этой полезной статьи .

  • Создайте новый проект
  • Установить пакет ядра замка в проект

Install-Package Castle.Core

  • Установить только библиотеки mvvm light

Install-Package MvvmLightLibs

  • Добавить два класса в проект:

NotifierInterceptor g15]

public class NotifierInterceptor : IInterceptor
    {
        private PropertyChangedEventHandler handler;
        public static Dictionary _cache =
          new Dictionary();

        public void Intercept(IInvocation invocation)
        {
            switch (invocation.Method.Name)
            {
                case "add_PropertyChanged":
                    handler = (PropertyChangedEventHandler)
                              Delegate.Combine(handler, (Delegate)invocation.Arguments[0]);
                    invocation.ReturnValue = handler;
                    break;
                case "remove_PropertyChanged":
                    handler = (PropertyChangedEventHandler)
                              Delegate.Remove(handler, (Delegate)invocation.Arguments[0]);
                    invocation.ReturnValue = handler;
                    break;
                default:
                    if (invocation.Method.Name.StartsWith("set_"))
                    {
                        invocation.Proceed();
                        if (handler != null)
                        {
                            var arg = retrievePropertyChangedArg(invocation.Method.Name);
                            handler(invocation.Proxy, arg);
                        }
                    }
                    else invocation.Proceed();
                    break;
            }
        }

        private static PropertyChangedEventArgs retrievePropertyChangedArg(String methodName)
        {
            PropertyChangedEventArgs arg = null;
            _cache.TryGetValue(methodName, out arg);
            if (arg == null)
            {
                arg = new PropertyChangedEventArgs(methodName.Substring(4));
                _cache.Add(methodName, arg);
            }
            return arg;
        }
    }

ProxyCreator

public class ProxyCreator
{
    public static T MakeINotifyPropertyChanged() where T : class, new()
    {
        var proxyGen = new ProxyGenerator();
        var proxy = proxyGen.CreateClassProxy(
          typeof(T),
          new[] { typeof(INotifyPropertyChanged) },
          ProxyGenerationOptions.Default,
          new NotifierInterceptor()
          );
        return proxy as T;
    }
}
  • Создайте свою модель просмотра, например:

-

 public class MainViewModel
    {
        public virtual string MainTextBox { get; set; }

        public RelayCommand TestActionCommand
        {
            get { return new RelayCommand(TestAction); }
        }

        public void TestAction()
        {
            Trace.WriteLine(MainTextBox);
        }
    }
  • Поместите привязки в xaml:
    
    
    
  • Поместите строку кода в файл с кодом ниже MainWindow.xaml.cs следующим образом:

DataContext = ProxyCreator.MakeINotifyPropertyChanged();

  • Наслаждайтесь.

enter image description here [/g2]

Внимание !!! Все ограниченные свойства должны быть украшены ключевыми словами virtual, потому что они используются прокси-сервером замка для переопределения.

-1
задан RiggsFolly 7 March 2019 в 09:14
поделиться

1 ответ

сразу после этого ....

require 'dbHandler.inc.php';

положить, поставить или поставить сразу после вызова mysqli_real_connect () или mysqli_connect () ...

        @mysqli_query ( $conn, "SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';");
0
ответ дан Stephanie Temple 7 March 2019 в 09:14
поделиться
Другие вопросы по тегам:

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