2010-02-11 30 views
5

Im haciendo la aplicación WPF con C#. Tengo tres tipos de imágenes en mi carpeta "Datos". Tengo Iamge abd textblock y un botón. cuando presiono el botón, se mostrará texto en bloque de texto y depende del texto, la imagen puede variar.¿Cómo puedo agregar imagen en tiempo de ejecución.Agregar imagen en tiempo de ejecución

public void Adddata(string lData) 
     {   
      Text1.Text = lData; 
      Img1.Source = "data\vista_flag.png"; 
     } 

Sé que he codificado erróneamente.pero no sé qué puedo hacer para eso. Img1.Source = ????????

Respuesta

2

XAML:

<Window x:Class="WpfApplication2.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
<Canvas Name="myCanvas"> 
    <StackPanel Name="stkPanel"> 
     <Button Name="btnLoadImage" Click="btnLoadImage_Click" >Load Image</Button> 
    </StackPanel> 
</Canvas> 

C# de Pulsar el botón Código:

private void btnLoadImage_Click(object sender, RoutedEventArgs e) 
    { 
     string src = @"C:\Documents and Settings\pdeoghare\My Documents\My Pictures\YourImage.jpg"; 

     Image img = new Image(); 

     img.Source = new ImageSourceConverter().ConvertFromString(src) as ImageSource; 

     stkPanel.Children.Add(img); 
    } 
+0

Im que consigue error .. cadena src = @ "data \ vista_flag.png" ; Img1.Source = new ImageSourceConverter(). ConvertFromString (src) como ImageSource; Stack1.Children.Add (Img1); Recibo un error en img1.source = new ImageSource ...... Línea – Anu

+0

Lo siento, cuando coloco mi imagen en la carpeta de depuración no recibí ese error. Pero ahora el error ocurre en la última línea. Dice "Visualizada ya es un elemento secundario de otra Visual o la raíz de un CompositionTarget". – Anu

+0

En el estudio visual, haga clic derecho en la imagen y seleccione 'Propiedades'. En 'Propiedades' establezca 'Copiar en directorio de salida' a' Copiar siempre'. –

Cuestiones relacionadas