фатальная ошибка LNK1112: тип компьютера модуля 'x64' конфликтует с типом компьютера целевой машины 'X86', выполняющего сборку через vcvarsall.bat x86

Метод в ответе Тэке заставляет горизонтальную полосу прокрутки. Это можно устранить, добавив конвертер, чтобы уменьшить ширину сетки по ширине элемента управления вертикальной полосой прокрутки.

using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
using System.Windows.Markup;

namespace Converters
{
    public class ListBoxItemWidthConverter : MarkupExtension, IValueConverter
    {
        private static ListBoxItemWidthConverter _instance;

        #region IValueConverter Members

        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return System.Convert.ToInt32(value) - SystemParameters.VerticalScrollBarWidth;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }

        #endregion

        public override object ProvideValue(IServiceProvider serviceProvider)
        {
            return _instance ?? (_instance = new ListBoxItemWidthConverter());
        }
    }
}

Добавить пространство имен в корневой узел вашего XAML.

xmlns:converters="clr-namespace:Converters"

И обновите ширину сетки, чтобы использовать конвертер.

<Grid.Width>
    <Binding Path="ActualWidth" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type ScrollContentPresenter}}" Converter="{converters:ListBoxItemWidthConverter}"/>
</Grid.Width>
0
задан gameon67 17 January 2019 в 05:32
поделиться

1 ответ

Спасибо всем за вклад. После отладки в течение двух дней. Я обнаружил, что у меня есть несколько установок библиотеки boost, включенных в мое решение

0
ответ дан 17 January 2019 в 05:32
поделиться
Другие вопросы по тегам:

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