在.cs文件中实现时,在设计模式下不存在自定义WPF控件

时间:2016-06-20 15:40:19

标签: c# .net wpf xaml

我正在使用的VisualStudio 2015项目使用.cs文件创建从System.Windows.Controls.RadioButton派生的自定义控件。

using System.Windows;
using System.Windows.Controls;
using BAB_HMI.Views;

namespace BAB_HMI.Controls
{
    public class HMIViewRadioButton : RadioButton
    {
        public HMIView ViewType
        {
            get { return (HMIView)GetValue(ViewTypeProperty); }
            set
            {
                SetValue(ViewTypeProperty, value);
            }
        }

        public static DependencyProperty ViewTypeProperty = DependencyProperty.Register("ViewType", typeof(HMIView), typeof(HMIViewRadioButton));
    }
}

资源字典像这样引用控件:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:Controls="clr-namespace:BAB_HMI.Controls">

    <Style x:Key="ModuleRadioButton" TargetType="{x:Type Controls:HMIViewRadioButton}">
    ...
</ResourceDictionary>

没有编译错误但是在打开App.xaml时我收到错误说&#34;找到资源字典时发生错误&#34;。

如果我使用.xaml文件创建自定义控件并将HMIViewRadioButton代码放在​​代码隐藏的.xaml.cs文件中,则错误消失了,但我不想这样做,因为错误是仅显示在我的机器上。团队中的其他人没有收到此错误。

是否有本地设置允许设计模式查看以.cs文件而不是.xaml.cs文件实现的自定义控件? ......还是其他导致错误的东西?

1 个答案:

答案 0 :(得分:0)

我自己想通了。我有&#34;平台目标&#34;构建设置为&#34; x64&#34;。将其更改为&#34;任何CPU&#34;解决了这个问题。我想这可能是因为Visual Studio正在运行&#34; x86&#34;在设计模式下,它不能使用仅使用&#34; x64&#34;集。