WPF Designer在不需要的情况下说“构建项目以更新设计视图”

时间:2018-03-01 12:07:52

标签: c# wpf

所以这张照片非常自我解释:

enter image description here

RowNumberConverter存在于同一个命名空间中,但Visual Studio愚蠢地说它没有! 我确实清理了解决方案,应用程序构建和运行没有任何问题,但我看不到设计师!所有这一切突然发生,没有理由不明白为什么!

BTW这是一个用于在EntityFramework绑定的DataGrid中显示行号的转换器类。

更新

转换器文件(RowNumberConverter.cs):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Controls;
using System.Windows.Data;

namespace MyProject
{
    class RowNumberConverter : IMultiValueConverter
    {
        #region IMultiValueConverter Members

        public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {

            //get the grid and the item
            Object item = values[0];
            DataGrid grid = values[1] as DataGrid;

            int index = grid.Items.IndexOf(item);

            return (index < 0) ? "" : (index + 1).ToString();
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}

1 个答案:

答案 0 :(得分:17)

很长一段时间以来,这一直是VS的问题。您需要将构建类型设置为“任何CPU”或x86,任何非x64的东西。这是因为(由于没有人理解的原因),因为VS是由x86代码构建的,所以它无法在设计器中显示和显示x64代码。将您的项目切换(临时)到x86,重新编译和预置,它将显示出来!