Обходное решение для некоторых функций WPF, которые отсутствуют в Silverlight

Если вы просто пытаетесь адаптировать подобный конструктор к прежней реализации вашего CustomWebApplicationFactory<TStartup> класса

_client = new CustomWebApplicationFactory<Startup>(new SeedDataClass()).CreateClient();

, то ваш новый конструктор будет выглядеть так:

public class CustomWebApplicationFactory<TStartup, TContext> : WebApplicationFactory<TStartup> 
    where TStartup : class 
    where TContext : DbContext
{
    private readonly SeedDataClass _seed;

    public CustomWebApplicationFactory(SeedDataClass seed)
    {
        if (seed == null) throw new ArgumentNullException(nameof(seed));

        _seed = seed;
    }
}

а затем обновить ваш вызов конструктора, как показано ниже

new CustomWebApplicationFactory<Startup, YourDbContext>(new SeedDataClass()).CreateClient();
7
задан Phillip Ngan 16 February 2009 в 21:11
поделиться

3 ответа

Для объекта 1 и 2, лучший способ получить доступ к этим входным событиям состоит в том, чтобы создать пользовательский TextBox, происходящий из созданного в TextBox. Затем можно переопределить OnKeyDown и OnMouseLeftButton вниз. Оттуда можно или назвать необходимый код или запустить новое событие. например:

public class MyTextBox : TextBox
{
    public event MouseButtonEventHandler MySpecialMouseLeftButtonDown;

    protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
    {
        if (MySpecialMouseLeftButtonDown != null)
        {
            MySpecialMouseLeftButtonDown(this, e);
        }
        base.OnMouseLeftButtonDown(e);
    }
}

Так же с OnKeyDown.

0
ответ дан 8 December 2019 в 01:47
поделиться

Я более знаком с Silverlight, чем полный WPF. considier мои ответы соответственно.

Для номера 2. Для многих ключей я проверяю KeyUp и KeyDown. Я использую KeyDown при попытке наблюдать все время, когда ключ удерживается и KeyUp, когда он использовался только однажды. Необходимо знать, что это было для игры без отдельного текстового поля.

0
ответ дан 8 December 2019 в 01:47
поделиться

Для объекта 4, можно связать и поле списка width и текстовое поле width к свойству статического ресурса так, чтобы это действовало как маршрутизатор для привязки. Вы могли также использовать преобразователь значения, который Вы инициализируете со ссылкой на поле списка, затем используете преобразователь для своего текстового поля width.

Для объекта 3, Вы могли использовать аналогичный подход.

0
ответ дан 8 December 2019 в 01:47
поделиться
Другие вопросы по тегам:

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