2009-10-12 5 views
1

Я разрабатываю приложение WPF, и я создал пользовательский элемент управления под названием ViewIconUC. Этот элемент управления находится в сборке (MyControlAssemblyUI). Я могу создать экземпляр элемента управления на странице ZAML внутри этого элемента управления, и я не получаю никаких ошибок (я даже привязал dugger к Blend для проверки), и я могу увидеть фон кнопки, который я установил в элементе управления, но файл значка, который я назначаю мой контроль не появляется. Я использую элемент управления в другой сборке (MyAssembly). Когда я загружаю проект этой сборки в Blend, вы получите то же поведение. Однако, когда я действительно запускаю приложение, значок отображается так же, как и предполагается. Так что это проблема с Blend. Любые предложения о том, как получить что-то, что появится в Blend?Blend not render images in User Control

Часть XAML для управления является:

<UserControl 
    x:Class="MyStuff.MyControlAssemblyUI.ViewIconUC" 

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 

    x:Name="m_ViewIconUC" 
    Height="36" Width="42" 
> 

    <UserControl.Resources> 
    <Style TargetType="Button"> 
     <Setter Property="Background" Value="#40FFFFFF"/> 
    </Style> 
    <Style TargetType="Image"> 
     <Setter Property="Width" Value="32" /> 
     <Setter Property="Height" Value="32" /> 
    </Style> 
    </UserControl.Resources> 

    <Button x:Name="m_ViewIconUC_Button"> 
    <Image 
     x:Name="m_ViewIconUC_Image" 
     Source="{Binding ElementName=m_ViewIconUC, Path=IconFile}" 
    /> 
    </Button> 

</UserControl> 

Вот конкретизации на странице XAML в сборке MyControlAssemblyUI:

<Grid> 
     <MyControlAssemblyUI:ViewIconUC 
     x:Name="m_TestToolBtn" 
     IconFile="/Resources/Images/MyAppIcon32x32.png" /> 
    </Grid> 

Моя конкретизация в реальном приложении (MyAssembly) выглядит следующим образом :

<MyControlAssemblyUI:ViewIconUC 
    x:Name="m_SelectToolBtn" 
    IconFile="/Resources/Images/SelectTool-32.png" /> 

Я не буду прикреплять код, если кто-либо не запросит сидеть.

ответ

1

Проблема заключалась в том, что строка IconFile на клиенте имела ведущую косую черту. Я изменил его на следующее, и все работает.

<MyControlAssemblyUI:ViewIconUC 
    x:Name="m_SelectToolBtn" 
    IconFile="Resources/Images/SelectTool-32.png" />