Changing Image Source programmatically
Hi
I've got a problem changing my image source based on a value in a variable.
The following function gets kicked off, but I get a TypeError: Error #1009: Cannot access a property or method of a null object reference. error.
I've tried embedding, and the solution you see below (which i found here - as I am chaning it at run time http://forums.adobe.com/message/116979#116979), but no luck
I am certain its how I'm mapping the png, but I can't be sure..... any suggestions? I've been banging my head against my desk for ages on this!
function (note - the trace proves that the value to change the image is correct)
public function LeversComplete():void{
if(PodContentBase._ProjectDetail.getItemAt(0).IndustryLeadingMastery == "N")
trace("Value" + PodContentBase._ProjectDetail.getItemAt(0).IndustryLeadingMastery)
imgIndustry.source = "/assets/bigcheese.png";
else {imgIndustry.source = "assets/Nocheese.png"}
Image (note - this is set as a defualt - and defaults in fine)
<mx:Image id="imgIndustryleadingtechnicalmastery"
source="assets/bigcheese.png"/>
Picture of Directory Structure:
Hi - all done - dead right - The image didnt exisit and i'm trying to stuff things in it - what a divvy -
Anyways, this worked - I check if the image exists before I try and change it.
public function LeversComplete():void{
if (imgIndustryleadingtechnicalmastery){
if(PodContentBase._ProjectDetail.getItemAt(0).IndustryLeadingMastery == "N") {imgIndustryleadingtechnicalmastery.source="assets/nocheese.png"}
else {imgIndustryleadingtechnicalmastery.source = "assets/bigcheese.png"}
Similar Messages
-
Want to change image properties programmatically
want to change image properties programmatically like
adjust_to_fit,selection_rectangle,pane,show_pallete.
Reply as soon as possible.
[email protected]I understand.
In terms of for the initial Ecommerce switchover we mass updated the MMIMAGE field in partsmaster so that the assumed naming convention of the image files are ITEMCODE.jpg.
Your solution is good which covers the instance where the image file field is empty and then putting in a empty image field in there.
The other scenario is that the MMIMAGE field is filled put the physical .jpg file is missing in the file system. Is there a way to handle that.
I checked already the netpoint thumbnail handler .dll and browsed over the available member properties / methods but I don't think such a config exists.
Mike -
Change image source distorts new image
Is there any easy way, once I change image source in Edge Animate, to get it to at least be proportionally correct? When I change an image source with a different size, it comes in distorted.
If you change the source it will fill the boundaries of the original source image automatically. If the size is different, it is probably better to delete the original image and drop the new one.
If you are talking about loading an image dynamically and changing them dynamically, use css background image with no-repeat and have you div be the size of the largest image used unless you code the image size when they change. -
Set Image source programmatically
I am working on a use case, where I have to set image source programmatically based on an input value. Eg: When I have a value of 'House1' in a form field, I have to display House1.png picture from a folder in file system. How can I do this?
Thanks Timo.
JDev Ver: 11.1.2.3
I used the easy solution to have the images in a sub directory under root and accessing them using EL language. It is working fine. I have another question, as to the process to be implemented if I have to update the images. The application that I am working on has a need to update the images frequently. What is the best way to do it? I am thinking of creating a jar file for images and deploying it to web logic server Ishared library). If I have to add a new image, I can just make a jar file and re-deploy it again. I am new to ADF, so I am not sure if my approach is correct. Please advise.
And, thanks for your blog. It was helpful.
-Ashok -
How to change Image source file name
Hi,
I have a logo image on my report that I want to change based on value of my query item. Can someone help me .....how can I change the source of my image item dynamically.
Thanks
AaliHello,
You can use a Formula Column and the property "Read From File" :
http://www.oracle.com/webapps/online-help/reports/10.1.2/topics/htmlhelp_rwbuild_hs/rwcontxt/props/pi_col_read_from_file.htm
Regards -
Question about dynamically changing image source
hi, this might be a stupid question that i've simply never
seen, but i have a picture on a page that, when the user clicks a
link below, needs to change to an altered picture. probably very
simple, i just need code that will change the image source of a
named image by clicking a link. thanks for any help you can give
me.You can use a remote rollover technique that uses css
(nesting one or more elements inside an anchor link) and absolute
positioning, or JavaScript.
Here is a quick JavaScript to achieve this effect:
xhtml code
<head>
<script src="external.js" language = "javascript" type =
"text/javascript"></script>
</head>
<body>
<p><a href="new_page.html" id="arrow"> New
Page</a></p>
<img src="images/image1_off.gif" width="100" height="20"
id="arrowImg" alt="arrow" />
</body>
external JavaScript file
window.onLoad = rolloverInit;
function rolloverInit() {
for (var i=0; i<document.links.length; i++)
var linkObj = document.links
if (linkObj.id) {
var imgObj = document.getElementById(linkObj.id + "Img");
if (imgObj) {
setupRollover(linkObj, imgObj);
function setupRollover(thisLink, thisImage) [
this.Link.imgToChange = thisImage;
this.Link.onmouseout = rollOut;
this.Link.onmouseover = rollOver;
thisLink.outImage = new Image();
this.Link.outImage.src = this.Image.src;
thisLink.overImage = new Image();
thisLink.overImage.src = "images/" + thisLink.id +
"_on.gif";
function rollOver() {
this.imgToChange.src = this.overImage.src;
function rollOut() {
this.imageToChange.src = this.outImage.src;
There is a lot going on here but if you know a little
JavaScript it will be failry easy to work it out. The important
thing is to note the file layout, naming conventions and image
constructs. Make sure the ids, etc are matched in the functions and
html code.
This technique shows the user what the image will become if
they click the text when they mouse over the text link. This is
handy for showing a preview of an image. You can alter the script
to change the image without a preview if you don't want that
effect.
regards
Nick Barling
www.barkingweb.com -
Setting 'source' of Image component programmatically
How do you change the source of an mx:Image component
programmatically in ActionScript?
I have an image like this:
<mx:Image id="myImage"
source="@Embed(source='image1.png')" />
Then I want to change this in my actionscript to image2.png.
Why does not the following code work?
myImage.source = "@Embed(source='image1.png')";
The image won't load, it just displays a small square icon. I
am sure that the path is correct because it works when I use the
Embed statement in the component declaration.
I appreciate your help!The line:
<mx:Image id="myImage"
source="@Embed(source='image1.png')" />
embeds the image into your SWF file at compile time. To
change the source at run time, you'll try something like:
myImage.source = "images/image1.png";
Where images is your folder on the root of web application
context you're in and image1.png is the image to be loaded.
Here is from image class help from docs:
The URL, object, class or string name of a class to load as
the content. The source property takes the following form:
source="URLOrPathOrClass"
source="@Embed(source='PathOrClass')"
ATTA -
Have to toggle "Relative to" button each time I try to change an image source
Dreamweaver CS4 running on Windows 7.
When changing an existing image on an existing web page in Dreamweaver by double-clicking the existing image on the page to open the Select Image Source panel, I have to toggle the "Relative to" (Site Root / Document) button for each image.
In other words, say that when using Design view, I want to replace img1.jpg with img3.jpg, and IMG2.jpg with img4.jpg, The steps I have to take are:
1. Double click img1.jpg on the page to open the Select Image Source panel.
2. Select img3.jpg.
3. Click the Relative to button at the bottom of the panel and change it from whichever it is on (Site Root, let's say) to the other option (Document).
4, Then click OK.
5. Double click img2.jpg on the page...
6. Select img4.jpg
7 Select the other option (SIte Root) in the Relative to drop down
8. Then click OK
9. Repeat for each image whose source is being changed. If one is relative to Site Root, the next will have to be relative to Document, then the next again I have to select Site Root, etc.
If I don't select the other relative to option, the image source path will not change when I click OK.
Default Link Relative To in site definition is set to Document.
It's been like this for weeks now and it's starting to get annoying. Any ideas?David, I tried deleting the corrupt cache flie, no difference. Deleted the config folder, same. Other than I lost the extensions... and had to reinstall them.
However, John's answer is correct. And clicking another image before clicking the one I want is faster than the way I was doing it.
It makes no difference if they are .png .jpg or .gif images.
By the way, I was wrong about my DW version. Turns out it's CS3. Guess it's time to upgrade... one of thes days!
Thanks everyone!
Message was edited by: tarfh, to add sentence about png images. -
Changing InlineGraphicElement.source when image is still downloading
If I detect that the content of an InlineGraphicElement is too large (either pixels of bytes) I want to stop it downloading and replace it with a different image. I successfully detect the cases when it is too large (listener on InlineGraphicElement.graphic as Loader.contentLoaderInfo).
I can stop the download by directly calling methods on the Loader, but then changing the source never seems to work on the InlineGraphicElement.
If I simply change the source on the InlineGraphicElement - it does not stop the loading of the original image - and then never seems to load the new one - if the original hadn't loaded at the time of the switch.Hi Richard,
I have attached a single class project which has a source change on an InlineGraphicElement.
>One possible workaround would be to set the new source property on the InlineGraphic and then stop the original graphic from loading.
I tried this (not included in the example I attached) - and successfully stopped the downloading - but did not successfully trigger the downloading of the new source. I think it should happen automatically when you change source - even if the original source was still downloading.
>Another might be to remove the InlineGraphicElement and insert a new one
Yes, that is what I ended up doing, but I think it is a clumsy solution.
Thanks,
Josh -
How to set image source path in formsweb.cfg file in forms 11g
Hi,
I had written HTML code in the formsweb.cfg file in forms 11g. In the below code i am unable to retrive image file(i.e., .gif, .jpeg) from the server or local machine.
In the below HTML code i set image source in the image tag as below:
<img src="E:\Oracle\Middleware\Oracle_FRHome1\tools\web\html\agilis-life-new11_04.GIF"
Is this correct path to fetch the images from the server or local machine .
Please help me out how to set path for image in html or is there any alternate process to retrive images.
Here is the code :
[INDIVIDUALUAT]
workingDirectory=D:\Aims10dev\Work
form=LMstartup.fmx
userid=rmenu/rmenu@RLIFEQA64
codebase=/forms/java
imageBase=codebase
width=1005
height=750
WebUtilArchive=/forms/java/frmwebutil.jar,/forms/webutil/jacob.jar
WebUtilLogging=off
WebUtilLoggingDetail=normal
WebUtilErrorMode=Alert
WebUtilDispatchMonitorInterval=5
WebUtilTrustInternal=true
WebUtilMaxTransferSize=16384
baseHTMLjinitiator=webutiljini.htm
baseHTMLjpi=webutiljpi.htm
archive_jini=frmall_jinit.jar,life-icons-round.jar,Agilis_Icon.jar,life_Icon.jar,personalize.jar,hyperlink.jar,amazingbutton.jar
archive=frmall.jar
separateFrame=False
lookandfeel=Generic
EndUserMonitoringURL=True
usesdi=yes
#HTMLbeforeForm= <table width="1005" border="0" cellspacing="0" cellpadding="0"><tr><td width="200"><img src="/forms/html/agilis-life-logo.gif" width="200" height="80" /></td><td width="10"><img src="/forms/html/agilis-life-new11_02.gif" width="36" height="80" /></td><td width="805" valign="top" background="/forms/html/agilis-life-new11_03.gif"></td></tr></td></tr></table>
HTMLbeforeForm=<body topmargin="0" leftmargin="0" > <table width="1005" height="100" border="0" cellspacing="0" cellpadding="0"><tr><td width="200" valign="bottom" ><img src="E:\Oracle\Middleware\Oracle_FRHome1\tools\web\html\agilis-life-logo.gif" width="200" height="80" /></td><td width="10" valign="bottom" ><img src="E:\Oracle\Middleware\Oracle_FRHome1\tools\web\html\agilis-life-new11_02.gif" width="36" height="80" /></td><td width="550" valign="bottom" ><img src="E:\Oracle\Middleware\Oracle_FRHome1\tools\web\html\agilis-life-new11_03.gif" width="550" height="80" /></td><td valign="bottom"><table width="219" height="90" border="0" cellspacing="0" cellpadding="0"><tr><td height="36" valign="bottom" align="center"><img src="E:\Oracle\Middleware\Oracle_FRHome1\tools\web\html\agile-logo.jpg" height="36"></td></tr><tr><td height="10" valign="bottom"> <div align="right"><span style="font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; text-decoration:none; color:#00000; " >Home | Change Password | Logout</span></div></td></tr><tr><td colspan="3" valign="bottom"><img src="E:\Oracle\Middleware\Oracle_FRHome1\tools\web\html\agilis-life-new11_04.GIF" width="100%" height="39" /></td></tr></table></td></tr></td></tr></table></body>AFAIK, this is not the correct way to set the image location.
We call the working directory as context, so inside the context root along with WEB-INF, maintain a folder with name img and put all the images in that directory.
You can use either .\<image_folder> or the optimum way would be (if you are using JSPs) to use getContext() method and traverse accordingly.
FYI,,, using getContext() will give you context root directory, from there it is as simple as accessing any other folder.
Hope this answers your question.
Cheers,
Jeets. -
Change the source of place holder dynamically in report
Hi,
We need to assign values to place holder dynamically in report pages based on the page number.
Basic requirement is to have dynamic images (generated in before report trigger with file name having timestamp and page number) in dynamic pages (getting repeated based on number of lines in the report).
Is there any way we can have a place holder mapped to this field (Read from file, type: Image) and change the source dynamically when each page is formatted?
Any pointers for this will be helpful.
Thanks,
AyyappaHi,
We need to assign values to place holder dynamically in report pages based on the page number.
Basic requirement is to have dynamic images (generated in before report trigger with file name having timestamp and page number) in dynamic pages (getting repeated based on number of lines in the report).
Is there any way we can have a place holder mapped to this field (Read from file, type: Image) and change the source dynamically when each page is formatted?
Any pointers for this will be helpful.
Thanks,
Ayyappa -
hi,
cud anyone help me to change image in a JPanel in JFrame.On MouseClick event. the image should in an panel on mouseclick,plz explain with example source code.
thank uI dvlp MyPanel to accept 2 image file name.
You can easy change to accept Image instead of file name.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Test {
public static void main(String args[]) {
JFrame f = new JFrame("Test");
MyPanel p = new MyPanel("YourFirstImage.gif", "YourSecondImage.gif");
p.add(new JButton("Click on Panel (not Button)"));
f.setContentPane(p);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
class MyPanel extends JPanel implements MouseListener {
Image image, image1, image2;
public MyPanel(String image1Name, String image2Name) {
//load image
try {
image1 = getToolkit().getImage(getClass().getResource(image1Name));
image2 = getToolkit().getImage(getClass().getResource(image2Name));
MediaTracker mt = new MediaTracker(this);
mt.addImage(image1, 0);
mt.addImage(image2, 0);
mt.waitForAll();
} catch (Exception e) { e.printStackTrace(); }
this.image1 = image1;
this.image2 = image2;
this.image = image1;
this.addMouseListener(this);
public void paintComponent(Graphics g) {
g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), this);
public void mouseClicked(MouseEvent e){
image = (image == image1) ? image2 : image1; // switch between image1, image2
repaint();
public Dimension getPreferredSize() {
Dimension dim = super.getPreferredSize();
int w = Math.max(image1.getWidth(this), image2.getWidth(this));
int h = Math.max(image1.getHeight(this), image2.getHeight(this));
w = Math.max(dim.width, w);
h = Math.max(dim.height, h);
return new Dimension(w, h);
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {} -
Change BitmapImage source on a socket event
Hello,
I have a BitmapImage and I would like to change its source at runtime.
<BitmapImage source="img1.png" id="img" smooth="true" smoothingQuality="high"
transformX="102" transformY="162">
<filters>
<DropShadowFilter distance="-1" angle="45"/>
</filters>
</BitmapImage>
In the script part, I change its source so it points to another image.
img.source = "img2.png";
If the previous assignment is inside the mouseDown handler, it works perfectly. But, if I place it in a method that is triggered when data is received through a socket, the source remains unchanged.
What I've found out, so far, is: I've added an event listener for the type "sourceChanged" and this is actually triggered, but when I inspect the source, it points to the old image.
Thanks!Hi,
It turned out to be a bug in my code, totally unrelated to sockets or anything else.
Not sure how to proceed...should I close this post? -
How to change images of selected items in gridview on selection changed event in universal app
Hi,
I am developing Universal App. I have bind the images to the Gridview using ObservableCollection. I have set gridview
SelectionMode as Multiple . I want to change the images of selected items but I don't know how to do in Selection Changed event of Gridview. I got selected items with the help of
Gridview SelectedItems property. How can i change the images of respected selected items?
Please reply me asap.
Thanks in advance.Hi, Sorry for late reply,
Please change the class :
public class ImageCollection : INotifyPropertyChanged
private string source;
public string Source
get { return source; }
set { SetProperty(ref source, value); }
public int MyProperty { get; set; }
protected void SetProperty<T>(ref T storage, T value, [System.Runtime.CompilerServices.CallerMemberName] String propertyName = null)
if (!object.Equals(storage, value))
storage = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
protected void RaisePropertyChanged([System.Runtime.CompilerServices.CallerMemberName] String propertyName = null)
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
public event PropertyChangedEventHandler PropertyChanged;
XAML
<GridView x:Name="gd"
Tapped="gd_Tapped">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Height="300" Width="250">
<Image Source="{Binding Source}" Stretch="Fill"/>
<Grid Height="100" Background="#B2000000" VerticalAlignment="Bottom">
<TextBlock Text="{Binding MyProperty}" FontSize="25" />
</Grid>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
C#
//ObservableCollection of class
ObservableCollection<ImageCollection> img = new ObservableCollection<ImageCollection>();
public MainPage()
this.InitializeComponent();
img.Add(new ImageCollection() { MyProperty = 1, Source = "ms-appx:///Assets/Logo.scale-100.png" });
img.Add(new ImageCollection() { MyProperty = 2, Source = "ms-appx:///Assets/2.jpg" });
img.Add(new ImageCollection() { MyProperty = 3, Source = "ms-appx:///Assets/3.jpg" });
img.Add(new ImageCollection() { MyProperty = 4, Source = "ms-appx:///Assets/4.jpeg" });
gd.ItemsSource = img;
private void gd_Tapped(object sender, TappedRoutedEventArgs e)
GridView gv = (GridView)sender;
ImageCollection ic = gv.SelectedItem as ImageCollection;
ic.Source = "ms-appx:///Assets/4.jpeg";
gv.UpdateLayout();
I have used INotifyPropertyChanged now UI is not fluctuate
and I have not bind again O-Collection.
I hope so You will get right answer.
shah -
Create a trigger which set Image source with binding to a dependency property.
I'm trying to create a specified button which switch images every time it pressed, without using the Click CBFunction, so I'm using toggle button and triggers (checked unchecked) and I want this button to
supply DP of string so who ever uses is button will only have to specify the images paths and a click CBFuntion to
perform what ever he wishes.
I managed to create the mechanism for switching images with triggers(but the triggers image paths are hard coded and not using DP) and to enable setting a click CBFunction. When I switch the hard coded image path with a DP which return a string with
the path the program crush, an exception is thrown.
U.C xaml:
<UserControl x:Class="ButtonChangeImage.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d">
<Grid>
<ToggleButton x:Name="btnCI">
<ToggleButton.Content >
<Image Name="img" Source="C:\Users\AmitL\Desktop\joecocker.jpg"/>
</ToggleButton.Content>
<ToggleButton.Triggers>
<EventTrigger RoutedEvent="ToggleButton.Checked">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.Target="{x:Reference img}" Storyboard.TargetProperty="Source">
<DiscreteObjectKeyFrame KeyTime="0:0:0">
<DiscreteObjectKeyFrame.Value>
<BitmapImage UriSource="{Binding FirstImage}"/>
<!--<BitmapImage UriSource="C:\Users\AmitL\Desktop\james-brown-010.jpg"/>--><!--if I switch to this line it works fine!-->
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="ToggleButton.Unchecked">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.Target="{x:Reference img}" Storyboard.TargetProperty="Source">
<DiscreteObjectKeyFrame KeyTime="0:0:0">
<DiscreteObjectKeyFrame.Value>
<BitmapImage UriSource="C:\Users\AmitL\Desktop\joecocker.jpg"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</ToggleButton.Triggers>
</ToggleButton>
</Grid>
</UserControl>
U.C cs:
public partial class UserControl1 : UserControl
public static readonly DependencyProperty FirstImageDP = DependencyProperty.Register("FirstImage", typeof(string), typeof(UserControl1), new PropertyMetadata(@"C:\Users\AmitL\Desktop\james-brown-010.jpg", new PropertyChangedCallback(FirstImageSource)));
private string m_strFirstImage = string.Empty;
private BitmapImage m_oBMImage = null;
private static void FirstImageSource(DependencyObject obj, DependencyPropertyChangedEventArgs args)
UserControl1 l_UCBtnSwitchImage = (UserControl1)obj;
l_UCBtnSwitchImage.m_strFirstImage = (string)args.NewValue;
l_UCBtnSwitchImage.m_oBMImage = new BitmapImage(new Uri(l_UCBtnSwitchImage.m_strFirstImage, UriKind.Absolute));
public string FirstImage
get
string l_strTemp = (string)GetValue(FirstImageDP);
return l_strTemp;
set
SetValue(FirstImageDP, value);
public event RoutedEventHandler Click
add { btnCI.Click += value; }
remove { btnCI.Click -= value; }
public UserControl1()
InitializeComponent();
window xaml:
<Window x:Class="ButtonChangeImage.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:m="clr-namespace:ButtonChangeImage"
Title="MainWindow" Height="350" Width="525">
<Grid>
<m:UserControl1 Click="ToggleButton_Checked" FirstImage="C:\Users\AmitL\Desktop\james-brown-010.jpg"></m:UserControl1>
</Grid>
</Window>
The exception:
A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
Additional information: 'Provide value on 'System.Windows.StaticResourceExtension' threw an exception.' Line number '20' and line position '46'.
I would love to know why when I switch the hard coded value with DP it suddenly throw exception, how to fix it or if there is other way to achieve U.C with those demands.
Thanks.Hey Magnus,
Unfortunately I get the same result, the button is switching between the (Joe Cocker) image to blue button(normal pressed button look) how come the
(Joe Cocker) image return I didn't set a trigger for unchecked so what make it change the content
or the image source back to that image?
And I can't debug (by the way what's happening there how come it doesn't stop in all those code lines?).
I didn't make any changes here is all the code:
U.C cs:
namespace ButtonChangeImage
public class ImageConverter : IValueConverter
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
string s = value as string;
var source = new System.Windows.Media.Imaging.BitmapImage();
source.BeginInit();
source.UriSource = new Uri(s, UriKind.RelativeOrAbsolute);
source.EndInit();
return source;
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
throw new NotImplementedException();
public partial class UserControl1 : UserControl
public static readonly DependencyProperty FirstImageDP = DependencyProperty.Register("FirstImage", typeof(string), typeof(UserControl1), new PropertyMetadata(@"C:\Users\AmitL\Desktop\james-brown-010.jpg", new PropertyChangedCallback(FirstImageSource)));
private string m_strFirstImage = string.Empty;
private BitmapImage m_oBMImage = null;
private static void FirstImageSource(DependencyObject obj, DependencyPropertyChangedEventArgs args)
UserControl1 l_UCBtnSwitchImage = (UserControl1)obj;
l_UCBtnSwitchImage.m_strFirstImage = (string)args.NewValue;
l_UCBtnSwitchImage.m_oBMImage = new BitmapImage(new Uri(l_UCBtnSwitchImage.m_strFirstImage, UriKind.Absolute));
public string FirstImage
get
string l_strTemp = (string)GetValue(FirstImageDP);
return l_strTemp;
set
SetValue(FirstImageDP, value);
public event RoutedEventHandler Click
add { btnCI.Click += value; }
remove { btnCI.Click -= value; }
public UserControl1()
InitializeComponent();
U.C xaml:
<UserControl x:Class="ButtonChangeImage.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d">
<Grid>
<ToggleButton x:Name="btnCI" xmlns:local="clr-namespace:ButtonChangeImage">
<ToggleButton.Resources>
<local:ImageConverter x:Key="conv" />
</ToggleButton.Resources>
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Setter Property="Content">
<Setter.Value>
<Image Name="img" Source="C:\Users\AmitL\Desktop\joecocker.jpg"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content">
<Setter.Value>
<Image Source="{Binding Path=FirstImage, Converter={StaticResource conv}}"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
</Grid>
</UserControl>
Main Window cs:
namespace ButtonChangeImage
public partial class MainWindow : Window
public MainWindow()
InitializeComponent();
private void ToggleButton_Checked(object sender, RoutedEventArgs e)
MessageBox.Show("f");
Main Window xaml:
<Window x:Class="ButtonChangeImage.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:m="clr-namespace:ButtonChangeImage"
Title="MainWindow" Height="350" Width="525">
<Grid>
<m:UserControl1 Click="ToggleButton_Checked" FirstImage="C:\Users\AmitL\Desktop\james-brown-010.jpg"></m:UserControl1>
</Grid>
</Window>
Thanks,
Amit.
Maybe you are looking for
-
Ongoing Broadband Issue - Any help would be much a...
Hi, I have had an ongoing issue with broadband speed for the last few months. I have spent hours on the phone to BT but I am still not getting anywhere. Everytime I report a slow speed (as in IP Profile of 135 and download speed of ~ 80mbps) I am ass
-
Can a user to create a condition or exception in Bex Analyser ?
Can a user to create a condition or exception in Bex Analyser in a similar way that a user can create a condition or exception in the Web? I am assuming there is not and they can only be displayed but I wanted to check. Can anyone confirm whether the
-
I have been working on this for seven hours straight. And I am cranky.
It is now 3am and I am in tears because I just wasted $240 on a piece of metal that may as well be a flipping coaster. I am running Vista Premium 64-bit. I've installed three different version of iTunes trying to resolve this problem. The only one I
-
Hi All, I have a requiremnet in ME21N Transaction. While creating a PO i want to validate some values based on services tab in the items.I found one badi related to services but when i am putting a break-point its not getting triggered. BADI IS - M
-
XMLSerialize and case statement
Hi all, I try using case statement on select like that SELECT xmlserialize(DOCUMENT xmlroot(XMLELEMENT(kdpwdocument,XMLATTRIBUTES( 'xxxxxxxx' AS sndr, 'xxxxxxxx' AS rcvr,