adding theme xaml to an existing wpf project - c#

please help me add a XAML theme file to my WPF project. I have an exisiting theme.xaml file.
Is there a way that the whole project (controls etc') accend the theme, so I wouldn't change control after control?
tnx guys

The basic direction you have to go is to create styles and resources without names. Only control types. By doing so you will set the same style on all controls of "that" type and it will affect your entire view.
Also, search and use a resource dictionary and apply it at the top of the tree so it will apply to the entire application.

Related

Edit default ControlTemplate

I am looking for a way to access the XAML code for a default control in .NET Maui.
In WPF there was a Designer in the XAML view, where I could:
right-click the control - Edit Template - Edit a Copy...
This would give me the XAML for the control so that it was possible to modify the default templates provided by the framework.
Maui does not have the Designer so there is nowhere to click on a control. Is there another way to achieve this?
I am looking specifically for the XAML for the ProgressBar control.
As a sidenote, when looking at microsofts documentation:
https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/controltemplate?view=net-maui-7.0
They show an example of the XAML for the CardView control.

UWP FormsComboBox and FormsTextBox Styling within Xamarin Forms

I am using Xamarin Forms to create a POC app that runs on UWP, and the UWP XAML styling has me at a loss.
Could anyone please advise how to apply a similar style to the Picker (FormsComboBox in UWP) and Editor (which now that I look at it, may be the same as FormsTextBox which is what is used for the Entry, so that may be an easy one) as is done here for the Entry in UWP XAML and a CustomRenderer.
Among other things, it gets rid of the left, top, and right border and weird default UWP background and just leaves a bottom border (to be colored as per the introduced LineColor property set on the control).
Any guidance would be much appreciated.
Could anyone please advise how to apply a similar style to the Picker
Please check this in Xamarin source code. And it has declare FormsComboBox style in the PickerStyle.xaml file, please copy it to your App.xaml(uwp client project) and edit base on your requirement. And please note FormsComboBox removed EditableText that use to input the matched text in native combobox control.

Customize control/ Writing Control Templates in wp7

I have been trying to customize a webbrowser control in wp7. All I need to do is to add a border property(I think it is already available in webbrowser but I have to make it mandatory when I make it as a control) and want to add a few extra event handlers and make it as a control so that it can be used later in different projects.
I tried reading through materials in msdn for writing control template and it all revolves around writing a few xaml code and attaching it with codebehind to make it work. What I don't understand is how do I learn xaml? or in other words where is the reference for all the tags that msdn talks about in xaml? Itseems to be huge and I am not sure how to go about it. The tutorial in msdn straight away divulges into xaml code and I am totally confused..
So now all I am trying to do is this,
create a control in Expression Blend (Windows Phone Control Library) that would create a class (MyCustomControl) that inherits
from CustomControl base class.
Now in xaml I am adding a webbrowser control and adding four event handlers (mouseup,down etc.,).
I build this control in blend and add the corresponding dll in VS2010.
And now once I try to add this control to my wp7 phone application it says "Cannot create an instance of MyCustomControl"..
These were further links that I referenced in creating one,
Windowsphone - Creating a custom control
Windowsphone - Control Template.
UserControl vs Custom Control
Creating a new control by creating ControlTemplate
Any further help would be great.
There is no definitive list of 'elements' you can add to your XAML. The reason for this is that the XAML parser can create any class which is a UIElement based on the XML you provide. So the elements available to you depend on the assemblies present in your project. Read teh MSDN XAML Overview for details
For a list of controls that are present by default, take a look at the System.Windows.Controls namespace (I think this link is not for your version of Silverlight, it might be best to use the Object Browser to look at the assemblies in your project).
For your problem, where you want to add a border to a WebBrowser control. I would recommend creating a UserControl as per this tutorial.

Create custom controls without generic.xaml?

I'm going crazy with different XAML designer errors in my PRISM application.
I have custom controls inside Infrastructure project and it seems that all referencing projects have issue loading control template at some point.
Everything runs good at runtime but VS2010 just doesn't work with all kind of errors.
I know for sure it is related to custom control not properly loading style from generic.xaml for some reason.
What I want to try is to drop generic.xaml all together and switch to use named templates for my custom controls. This way I can always merge resource files so VS know where to look for stuff.
Do you think this is viable solution?
How do I populate DefaultStyleKey from named style?
This is not a viable solution: custom controls pull their information from Themes/generic.xaml. This is baked into the runtime.
If you're building a WPF/Silverlight composite application, you'll need to put your generic.xaml in your WPF project and link it to your Silverlight project. That's the reverse of Prism guidance, but is required due to a bug with linked XAML files that are not at the root level in WPF projects.
Without generic.xaml, it is some what difficult but with help of generic.xaml you can switch to use named templates for your custom controls. just simply adding following code in generic.xaml
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/CPMS.Utility.Controls;component/Controls/MyUc/Style/DBLoginForm.xaml" />
</ResourceDictionary.MergedDictionaries>

How can I use one ImageList control for all forms in my project?

I've an imageList control with a bunch of icons in my main form. I want to use these icons on other forms as well. How can i do this? Is there an easy way to do this? Thanks
Create a user control. They are valuable for reuse like this.
Do you want to reuse the entire ImageList, or would it be enough to just reuse the images themselves?
Usually you would do the latter, for which there is a very easy way built-in.
Under your project node in the Solution Explorer, expand Properties and double-click Resources.resx. Click Add Resource > Add Existing File. Browse to your icons/images and add them. This is the preferred way to add resources to your project.
Now anywhere you want to use an icon/image, from the forms designer you'll be able to select these files in the "Select Resource" dialog that pops up when you click the ... button on an image property in the property grid.
You can also access them in code, e.g.
BackgroundImage = Properties.Resources.MyImageFile;

Categories

Resources