TAG | silverlight 3
18
“Invalid FORMATETC structure” error on control drag n drop
No comments · Posted by Ferry Meidianto in Silverlight
Today when I was developing Silverlight app using Telerik RadControls, there was an error “Invalid FORMATETC structure” prevented me to complete the drag n drop of RadControls to the XAML editor.
I didn’t have any idea what was caused it because I could still drag n drop the Button control to the XAML. I thought it was Telerik but it could be anything.
Then the fast way to get the answer was of course Google.
Oops there are may results when I searched invalid FORMATETC, that’s a good sign to get the answer. Yeah it’s not Telerik specific error but Visual Studio error. It’s caused by the reference of toolbox items were messed up.
The solution was simply resetting the toolbox items by right clicking the toolbox then choosing Reset Toolbox.
Be patience, it could take sometime to reload all toolbox items.
13
Working with Image.Source on Silverlight 3
3 Comments · Posted by Ferry Meidianto in Silverlight
Below are some options to work with Image.Source
1. Embedded in the .xap file as Content
Note that the Build Action is “Content”
XAML
<Image x:Name="imgContent" Source="/Assets/Images/2.jpg" />
Code (C#)
imgContent.Source = new BitmapImage(new Uri("/Assets/Images/2.jpg", UriKind.Relative));
2. Embedded in the .xap file as Resource
Note that the Build Action is “Resource”
XAML
<Image x:Name="imgResource" Source="/SilverlightApplication1;component/Assets/Images/1.jpg" />
Code (C#)
imgResource.Source = new BitmapImage(new Uri("/SilverlightApplication1;component/Assets/Images/1.jpg", UriKind.Relative));
3. Absolute URL
The file is stored anywhere in the internet
XAML
<Image x:Name="imgAbsolute" Source="http://i3.silverlight.net/avatar/meidianto.jpg?cdn_id=10092009" />
Code (C#)
imgAbsolute.Source = new BitmapImage(new Uri("http://i3.silverlight.net/avatar/meidianto.jpg?cdn_id=10092009", UriKind.Absolute));
4. Stored inside the web application/website
Note: in this example the image is stored in the same folder as the .xap file
XAML
<Image x:Name="imgServer" Source="/3.jpg" />
Code (C#)
imgServer.Source = new BitmapImage(new Uri("/3.jpg", UriKind.Relative));
5. Async Network Call
Note: in this example the image is stored in the same folder as the .xap file as above
Code (C#)
private void LoadImage() { WebClient client = new WebClient(); client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted); client.OpenReadAsync(new Uri("3.jpg", UriKind.Relative)); } void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e) { if (e.Error == null && e.Result != null) { BitmapImage img = new BitmapImage(); img.SetSource(e.Result); imgServer.Source = img; } }