How to add an image from a different project in WPF in proper MVVM way

Issue

At times we will face with a situation where we need to show an image from another project in the same solution. Say for example: If you are building an enterprise application then we will modularize the application. And at times we want to show some image from this module in the main shell view. This at times can run you crazy. Here we will see how to show an image from a different module in the shell view.

How did I fix this?

You cannot show an image by simply binding to its path. What Image accepts as source is a BitmapImage. So unless you are not binding to a BitmapImage, you cannot bind it directly. So create an Image control and assign a BitmapImage control as source as shown below.

<Image>
    <Image.Source>
        <BitmapImage UriSource="{Binding Path=ImagePath}" />
    </Image.Source>
 </Image>

Now in your module, add the image which you want to show in a sub folder of that module. Normally we add it in a folder called “Resources” in the root of the module project. Now right click on that image and select properties. Now change the “Build Action” to “Resource”. Now this image will be available as a resource, embedded into the dll. Adding to resource

Now from this project, pass the path to this resource file as shown below.

"pack://application:,,,/TestModuleProject;Component/Resources/Image.png"

Here “TestModuleProject” is the name of the project where you have the image. Now take this path in your shellViewModel and assign it to “ImagePath”, where ImagePath is bind to the BitmapImage. Now this will display your image.

Parquet file experiments, findings and recommendations

Parquet is a binary file format designed with big data in mind where we must access data frequently and efficiently. The way it stores file on the disk is also different from other file formats. It is a column-based data file. And in reality it uses both row based and column based approach to bring the best of both worlds. The data is encoded on disk which ensures that the size remains small compared to actual data and is then compressed where the file is scanned as whole and cut out redundant parts. The query/read speed is dramatically fast when compared to other file formats. Nested data is handled efficiently which is quite cumbersome in other file format to achieve. Doesn’t require to parse the entire file to find data due to its way of storing data. This makes it efficient in reading data. Works quite efficiently with data processing frameworks. Automatically stores schema information. SQL querying is possible with this file format using Continue reading

Libish Varghese Jacob

Libish Varghese JacobI am currently working as a lead engineer in one of the leading wind turbine manufacturing firm. I have wide range of interests and getting my hands dirty in technology is one among them. I use this platform primarily as my knowledge base. I also use this platform to share my experience and experiments so that it might help someone who is walking the way I already did. The suggestions expressed here are the best to my knowledge at the time of writing and this may not necessarily be the best possible solution. I would pretty much appreciate if you could comment on it to bring into my notice on what could have been done better.