Исключение выдается при изменении порядка объявления ресурсов - PullRequest
1 голос
/ 01 апреля 2009

Я получаю исключение при объявлении ресурсов в следующем порядке:

<Window.Resources>
    <sys:Object x:Key="resourceA"></sys:Object>

    <x:Array x:Key="resourceB" Type="sys:String">
        <sys:String>foo</sys:String>
    </x:Array>
</Window.Resources>

и когда объявляешь так, все работает:

<Window.Resources>
    <x:Array x:Key="resourceB" Type="sys:String">
        <sys:String>foo</sys:String>
    </x:Array>

    <sys:Object x:Key="resourceA"></sys:Object>
</Window.Resources>

Исключение:

Невозможно преобразовать значение в атрибут ItemsSource для объекта типа 'System.Collections.IEnumerable. 'System.Windows.Markup.ArrayExtension' не является допустимым значением для свойства 'ItemsSource'. Ошибка на объекте 'System.Windows.Controls.ComboBox' в файл разметки 'WpfResourcesBug; компонент / Window1.xaml' Строка 18, позиция 37.

Полный код:

<Window x:Class="WpfResourcesBug.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    Title="Window1" Height="300" Width="300">

    <Window.Resources>
        <sys:Object x:Key="resourceA"></sys:Object>

        <x:Array x:Key="resourceB" Type="sys:String">
            <sys:String>foo</sys:String>
        </x:Array>
    </Window.Resources>

    <StackPanel>
        <ComboBox SelectedIndex="0" ItemsSource="{StaticResource resourceB}" />
    </StackPanel>
</Window>

1 Ответ

2 голосов
/ 01 апреля 2009

Я думаю, вы могли бы найти возможное решение здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...