2009-10-12 8 views
1

Je développe une application WPF et j'ai créé un contrôle utilisateur appelé ViewIconUC. Ce contrôle réside dans un assembly (MyControlAssemblyUI). Je peux instancier le contrôle dans une page ZAML dans ce contrôle, et je n'obtiens aucune erreur (j'ai même attaché le lecteur à Blend pour vérifier), et je peux voir l'arrière-plan du bouton que j'ai défini dans le contrôle, mais le mon contrôle n'apparaît pas. J'utilise le contrôle dans un autre assembly (MyAssembly). Lorsque je charge le projet de cet assemblage dans Blend, je reçois le même comportement. Cependant, lorsque je lance l'application, l'icône apparaît comme elle est supposée l'être. Donc, il semble y avoir un problème avec Blend. Des suggestions pour savoir comment faire apparaître quelque chose dans Blend?Le rendu n'affiche pas les images dans le contrôle utilisateur

Le XAML pour le contrôle est:

<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> 

Voici l'instanciation dans une page XAML dans l'assemblée MyControlAssemblyUI:

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

Mon instanciation dans l'application réelle (MyAssembly) ressemble à ceci :

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

Je ne vais pas attacher le code-behind à moins que quelqu'un demande asseoir.

Répondre

1

Le problème était que la chaîne IconFile dans le client avait une barre oblique. Je l'ai changé pour le suivant et tout fonctionne.

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