0

コンバーターをアプリケーションの上部にある共通の場所にプルしようとしています。そうすると、次のエラーが発生します。

SourceDefaultValueConverter は、Windows Presentation Foundation (WPF) プロジェクトではサポートされていません。

これは、エラーをスローしている App.xaml です。

<Application x:Class="MSMS.DataCollector.App.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             xmlns:App="clr-namespace:App"
             xmlns:commonControls="clr-namespace:CommonControls;assembly=CommonControls"
             StartupUri="LoginWindow.xaml">
    <Application.Resources>
        <App:NinjectServiceLocator x:Key="ServiceLocator" />
        <ResourceDictionary x:Key="Resources">
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Resources/Converters.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <commonControls:FieldLayoutRuntimeControlConverter x:Key="FieldLayoutConverter" />
        </ResourceDictionary>
    </Application.Resources>
</Application>

リソースを UserControl に直接追加するだけで、正しく機能します

<UserControl.Resources>
    <commonControls:FieldLayoutRuntimeControlConverter x:Key="FieldLayoutConverter"/>
</UserControl.Resources>
4

1 に答える 1

1

ServiceLocatorの外側に1 つのリソース ( ) がありResourceDictionaryます。リソースに沿って移動しますFieldLayoutConverter。それがあなたの問題につながっているかどうかはわかりませんが、それは確かに間違っており、WPF を混乱させる可能性があります (残念ながら、これは難しいことではありません)。

于 2013-04-05T19:16:49.963 に答える