I uploaded a simple png file with a overall fill color here: https://ufile.io/kx1mopq2
If i view this file in the windows explorer or in firefox the color displayed is slightly different than the color shown in Windows Paint, Paint 3d or several other applications i tested - including WinApi and Qt applications i developed myself.
In the screenshot below on the left you see firefox and windows explorer preview - we think that this display color is the correct one. On the right you see Pant and paint 3d. I modified the file in paint as i moved a strip from the left views into the right views in order to make the difference visible.
My question is: Where do these differences have their origin? I want my applications to show the same color as FireFox or Windows Explorer. It seems that there is a application setting or the like that influences that?
Any suggestion welcome.
I think this is a very common problem, but I cannot find a suitable solution for me. As you all know, WP supports a dark and a light theme. The user can change the theme and there are ways to override his decision and to display everything in the color theme you've selected. However, I'm just trying to react to this two theme types and I want to display icons in the correct color.
If you use the Application Bar, you can select from many built in icons, which will be automatically inverted from light to dark and vice versa.
Why isn't there any support for normal images? For example: I want to display a telephone icon. I've picked one from the built in icons and copied it from the Microsoft SDK folder to the Image folder of my project. If the user uses the dark theme, everything will be fine because the white telephone icon will be visible on the black background. But if he switches to the light theme, the icon will be invisible because it is white on white.
I'm fully aware of the style resources for textboxes or background colors, which use the phone's accent or theme color. But why is it, that there is no support for simple icons which I added as Image to my XAML page?
Of course I could detect in the constructor of the page if the user is in dark or light mode. I would then load either a black or white version of the telephone icon. But this check will be done everytime I visit the page and slows everything down. It's also annoying to manually add the check for the theme each time I'm adding a theme aware image.
Is there any solution, which will work with XAML only? Or is at least easy to maintain? And why can't I use the built in images from the SDK right from the beginning? They are already available in dark and light versions and are already used in the application bar.
If you want the icon to function like in the actionbar, just be white (if dark theme) and black (if light theme) then you can add the image as an opacity mask to a rectangle, like this:
<Rectangle Fill="{StaticResource PhoneForegroundBrush}" Width="48" Height="48" >
<Rectangle.OpacityMask>
<ImageBrush ImageSource="/Images/my.icon.png" />
</Rectangle.OpacityMask>
</Rectangle>
Where my.icon.png is a white image, like those you can choose for the actionbar.
You could use vector graphics instead of bitmap icons and use a theme-aware brush to draw them.
If you want the App to respond to a switch of the theme you'll need to respond to it any way.
I added a property to the base class of my Views that returns the selected theme. That way I can use/bind to that value.
It is also possible to use a ValueConverter that turns a logical name of a resource into a name of a theme specific resource.
Edit
Have a look at this: Custom light/dark theme resources on Windows Phone 7
Detect the theme (Supporting dark and light themes gives the best solution for this, I think), and then set the image accordingly. If you do this a lot, a custom control where you can supply two image sources and the correct one gets used would be easy enough to create.
Edit: Here's another good article on this topic. New Screen Resolutions
You pick a White Foregrounded icon use it. It suits for both Light and Dark themes. Thats what I have been doing.
The Coding 4 Fun control toolkit includes a round button that mimics the application bar buttons, including updating the foreground color depending on the theme. The code is open source, so perhaps you might find an answer in there. Or, as a hack, you could use the RoundButton control, turn off the border, and not provide a Click event.
Im new to cximage so i need help. Im building as MDI project in which i need cximage functionalities.
Please help me by specifying how to load and display an image in the child window.
How to get active windows hwnd and hdc.
this is the requirement:
Drawing App(Image Viewer and editing) using cximage and Mdi
First of all, there should be a provision to open an image (any format i.e. tif, jpg, bmp…..).
The user should be able to do operations like rotate, zoom negate etc. The changes should be saved after prompting.
The user should be able to draw standard shapes like rectangle, square etc on top of the image.
Should be able to fill color in the shapes drawn. Save that as well.
Also user should be given a provision to change an image format(i.e. may be from jpg to tif and so on) and save.
http://www.codeproject.com/Articles/1300/CxImage itself is a good tutorial and it has sample project as well.
see the tutorial below to which explains how to get active windows handle in MDI app:
http://www.winprog.org/tutorial/app_four.html
Can anyone tell me how I can change the color of my checkmark for a checkbox in Silverlight for Windows Phone 7 development?
I see some references on the web for changing a template but that is more for WPF or SilverLight apps, not WP7.
Right now I have a white background on my stackpanel and my background for my checkboxes are black. It would be sweet to make the checkmark white.
Any ideas?
UPDATE:
I should mention that I'm creating these checkboxes in the code behind (via a loop), and I'm using VS 2010 for my phone app development.
The Answer:
Thanks to Mick who lead me down the right path. I had to fiddle with it a little but I used MS Blend to create my own style and then I copied the XAML from there and put that style XAML in the App.xaml in between the tags.
Then I applied it in my code behind like this:
chk.Style = (Style)Application.Current.Resources["CheckBoxStyle1"];
You can access this by retemplating the control in Blend.
Target the check box.
Right click
Edit Template
Edit a Copy
Drill down to the CheckMark path
Change it's colour
I'm trying to replicate the input box shown in the image on windows mobile 5+
but i'm struggling for ideas!
So far the only things I have come up with (I haven't managed to make either work) were to either;
inherit TextBox and paint the textbox
background manually by overriding
OnPaint/OnPaintBackground
make the textbox background
transparent and position the
textbox over an image that looked
like the one in the screen shot
Has anybody done this or know of how this could be acheived?
Thanks in advance
OneShot
I gave up on this as I have moved away from windows mobile but found that it wasn't possible, due to restrictions in the compact framework, to do this with the existing textbox, you would need to create your own texbox control from scratch!