Home
>
Archive
>
SSW Standards
>
Better Software Suggestions
>
SSW Microsoft WPF Suggestions
Indicates important rule
-
Provide built in fill functionality for the InkCanvas rather than
implementing a work around using pixels
Currently, there is no fill functionality for InkCanvas. The only
way to fill shape is to add a basic shape as a children.
Furthermore, it's not facility to get pixel from point, so that the
InkCanvas must be converted to Bitmap and then get the pixel. It's
much better to add some GDI+ properties in it.
-
3DMeshGeometry does not provide good support for dynamically
creating a surface based on points
3DMeshGeometry can only define triangle primitive as its surface, if
the surface is polygon, the points index of triangle must be defined
very carefully, otherwise it should be shown out of your
imagination. So polygon surface should be supported by
3DMeshGeometry.
-
The Line Primitive functionality given by the ScreenSpaceLines3D
object should not have been removed from .NET 3.0's object model
This is currently the only method of dynamically creating objects
based purely on vectors (x,y,z). It has been extremely useful
because we are importing directly from a csv file, rather than
creating the 3D objects manually by defining the Triangle space they
are in. Currently I use a third party application that Daniel
Lehenbauer wrote to replicate this functionality. It is found at
http://blogs.msdn.com/danlehen/archive/2006/05/29/610310.aspx
-
There is currently no way to inherit off a BaseForm in WPF
Currently the Form's Icon, and the OK and Cancel button are copied,
and pasted for similar functionality in each form. It is not a good
method for reusable functionality. We could add them as user
controls, but then base functionality that we want reused from a
base class would not be appropriate for this.
-
When customized UserControls are added into XAML, it breaks the
WPF designer in Visual Studios
The XAML designer will be invalidated if an user control is added to
form. A render error might happen on refreshing the user control. It
will be ok, even if an icon, which represents an user control, is
shown in the form.
-
Have a CheckedListBox support Control+A and Control+C
Add support for Control+A to select all items.
Add support for Control+C to copy all items to the clipboard.
-
- Figure: Windows Forms should have the same functionality
See the same suggestion at
Microsoft .NET (Windows Forms) suggestions
.
-
WPF Projects should have an option to package and deploy
One of the things that is always last on the developer's mind is
deployment. With Web Projects deployment is just two clicks away:
- Right click the project
- Create Package
-
-
Figure: Deployment options are in the context menu of the
project
For a WPF project, the deployment menu can add a new Setup Project
to the solution.
Acknowledgements
Adam Cogan