CustomButton_123509716 targetType与元素类型CustomButton_096728不匹配

时间:2017-12-07 16:44:02

标签: xaml styles visual-studio-2017 design-time

我最近切换到Visual Studio 2017,我的xaml设计时间视图受到了很大影响。

最近的挑战是设计时间错误,我的组件不会显示,因为他们的 style_1093579 style_0965327 不匹配,但是当我运行程序,它工作正常。

我同意数字不匹配,但我没有添加它们,也无法弄清楚如何更新它们。我尝试过清理,重置,还原和手动删除文件。我已经附加到尝试调试它的过程。我添加了 [DesignTimeVisible(true)] 以查看是否会改变任何内容 - 我所要做的就是获取一些要更改的数字。我用Google搜索了,但即使是有希望的问题,例如TargetType does not match type of Element'Chart' TargetType does not match type of element 'Chart'也不适用,或者没有回答。

我最好的猜测是,重建时,某些自动生成的文件无法正确重新生成。 (虽然它不是* .g.i.cs文件 - 我已经尝试删除它。)有没有人有我应该尝试删除的另一个文件,或者解决方法?

1 个答案:

答案 0 :(得分:0)

基于自定义ContentControl创建视图时,我遇到了类似的问题,在该视图中,我为自定义ContentControl创建了样式。

尝试将CustomButton上的Style的TargetType显式设置为定义该Style的元素上使用的TargetType。

因此,在基于您的CustomButton的视图中

<my:CustomButton x:Class="MyModule.Views.MyButtonView">
    <my:CustomButton.Style>
        <Style BasedOn="{StaticResource StyleCustomButton}" TargetType="{x:Type my:CustomButton}" />
    </my:CustomButton.Style>
</my:CustomButton>

StyleCustomButton的定义与此类似时:

<Style x:Key="StyleCustomButton"
       TargetType="{x:Type my:CustomButton}">
...