首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Silverlight 5+ RIA转换为Wpf问题

将Silverlight 5+ RIA转换为Wpf问题
EN

Stack Overflow用户
提问于 2022-06-02 08:06:36
回答 1查看 61关注 0票数 0

我们正在将SL5+RIA服务转换为WPF前端和WCF服务作为临时解决方案。到目前为止,我们已经成功地将所有SL组件和库调整为相应的WPF。但是,我们已经到了Visual抛出一系列构建错误的时候,我们不了解这些错误的起源。

旧的SL解决方案与VS 2015 14.0.25431.01保持一致。它使用SL5和.NET 4.0。在完全清除了解决方案之后,它也正确地构建了。新的WPF解决方案是由VS 2019 16.11.15和使用.NET 4.8。

我们在一些用户控件上遇到的3个错误是

XDG0036 "Key“属性只能用于"IDictionary”中包含的元素。此错误指向xaml代码的第1行,这是用户控件本身。

代码语言:javascript
运行
复制
<UserControl
    x:Class="Inspectieprogramma.UserControls.DetailsInspfreq"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
    xmlns:converters="clr-namespace:Inspectieprogramma.Converters"
    xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
    xmlns:cmdExtras="http://www.galasoft.ch/mvvmlight"
    xmlns:helpers="clr-namespace:Inspectieprogramma.Helpers"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
>

XDG0040属性"Resources“只能设置一次。此错误指向资源标记的开始,但只有一个资源声明。

代码语言:javascript
运行
复制
<UserControl ...>

    <UserControl.DataContext>
        <Binding Path="Inspectieprogramma" Source="{StaticResource Locator}" />
    </UserControl.DataContext>
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Inspectieprogramma;component/Styles/RadDatetimePickerStyle.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
...
<DataTemplate/>, <ControleTemplate/> and <Style/> definitions
...
    </UserControl.Resources>
<Border>
// All contents
</Border>
</UserControl>

XDG0047指定的值不能赋值。预期的类型如下:"ResourceDictionary“。与XDG0036一样,此错误再次指向代码的第1行。

艾曼纽尔

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-02 09:55:00

您需要将DataTemplate、ControleTemplate和样式定义放置在声明的ResourceDictionary中,而不仅仅是在UserControl.Resources标记中:

代码语言:javascript
运行
复制
<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Inspectieprogramma;component/Styles/RadDatetimePickerStyle.xaml" />
        </ResourceDictionary.MergedDictionaries>

        ...
        DataTemplate, ControleTemplate and Style definitions
        ...
    </ResourceDictionary>
</UserControl.Resources>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72472767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档