Почему мое растровое изображение отображается в конструкторе, а не в .EXE - PullRequest
0 голосов
/ 25 марта 2020

У меня есть словарь ресурсов в управляющей библиотеке, чтобы указать мое растровое изображение. key = Refre sh -M

UriSource = "/ Resources / Icons / Basic / refre sh -100.png"

Вы можете увидеть в код ниже, который создается в виде кнопки.

Так как мой словарь стилей является appart из основного проекта, я сделал "WPFStyle_Ascendecies.xaml", который включает в себя все из них, поэтому мне нужно только включить этот в app.xaml

/ ------ Изображения ----- \

View Designer

Приложение .exe

/ ------ # См последнюю кнопку ----- \

<!--Left Top to DownMenu -->
        <StackPanel  Background="DimGray" Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Grid.ColumnSpan="2">



            <TextBlock Text="{Binding Title}"  Padding="0,14,0,0" Height="56" Margin="0,0,0,0" FontSize="18"  Background="Black" Foreground="White" TextAlignment="Center" />
            <Button x:Name="Homepage"          Content="Home Page" Height="30" Margin="0,0,0,1" Click="Homepage_Click"                  />
            <Button x:Name="Clients"           Content="Clients"   Height="30" Margin="0,0,0,1" Click="Clients_Click"                   />
            <Button                            Content="Hello"     Height="30" Margin="0,0,0,1"                                         />
            <Button  Height="30" Margin="0,0,0,1" >
                <Viewbox>
                    <Image Source="{StaticResource Refresh -M}"/>
                </Viewbox>
            </Button>


        </StackPanel>


        <!--PagesPresenterFrame-->
        <Frame x:Name="Main" Grid.Column="2" Margin="0,34,0,0" Grid.RowSpan="2"/>


    </Grid>
</Border>

1 Ответ

0 голосов
/ 26 марта 2020

Вы используете относительный URI для отображения изображения. В файле XAML компилятор нашел изображение на основе вашего относительного URI и пути root, где расположен XAML, так что изображение может быть отображено. Когда вы запускаете exe, папка uri - это папка, в которой exe находится в , поэтому exe не может найти изображение в сочетании с указанным вами относительным путем, изображение не будет отображаться. Решение: например, exe в Solution / bin / Debug, добавьте Basic / refre sh -100. PNG в папке Debug, используйте UriSource = "/ Basic / refre sh -100. PNG» в xaml, запустите exe, изображение будет показано

[ Update ]

Вы можете установить Копировать в выходной каталог как «Копировать, если новее» или «Копировать всегда» в свойствах изображения. См. Изображение ниже: enter image description here

...