WPF - источник изображения - не попадает в ожидаемый диапазон - PullRequest
1 голос
/ 12 мая 2009

В моем XAML и при сборке я получаю следующее исключение:

Ошибка 3 Значение 'colorpick.png' нельзя присвоить свойству 'Source'. Значение не попадает в ожидаемый диапазон.

Вот XAML:

"Source =" colorpick.png "подчеркнут.

Одной из немногих вещей, которые я смог найти по этому поводу, была следующая запись в блоге: http://nickeandersson.blogs.com/blog/2008/06/wpf-image-and-v.html

colorpick.png имеет значение Build action = resource.

Любые советы будут с благодарностью!

Вот все xaml:

<UserControl x:Class="MyApp.Controls.ColorSettings"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:MyApp">
    <Grid>
        <StackPanel>
          <ScrollViewer>
           <ListView Name="lvColors" MinHeight="100" MinWidth="300" SelectionChanged="lvColors_SelectionChanged">
                <ListView.ItemContainerStyleSelector>
                    <local:ColorSettingsStyleSelector/>
                </ListView.ItemContainerStyleSelector>
                <ListView.View>
                <GridView>
                    <GridViewColumn Header="Level" DisplayMemberBinding="{Binding Level}"></GridViewColumn>

                    </GridView>
            </ListView.View>
        </ListView>
        </ScrollViewer>
            <StackPanel Orientation="Horizontal" Name="spColorPicker" Visibility="Hidden">
                <Image Source="colorpick.png" Width="200" Height="200" MouseLeftButtonDown="Image_MouseLeftButtonDown" MouseMove="wheel_MouseMove" Name="wheel"/>
                <Rectangle Width="200" Height="200" Name="rectDisplay"/>
            </StackPanel>
        </StackPanel>

    </Grid>
</UserControl>

Ответы [ 2 ]

3 голосов
/ 12 мая 2009

Попробуйте изменить его на

<Image Source="/AssemblyName;component/colorpick.png" ...

где AssemblyName - имя вашей сборки (компонент является литералом).

Предполагается, что colorpick.png находится в корне вашего проекта, если он находится (например) в папке с изображениями, используйте /AssemblyName;component/images/colorpick.png

3 голосов
/ 12 мая 2009

Я думаю, вам может понадобиться использовать URI WPF Resource File Pack синтаксис.

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