Skip Navigation LinksHome > SSW Standards > Better Software Suggestions > SSW Microsoft WPF Suggestions

Red star Indicates important rule

  1. Provide built in fill functionality for the InkCanvas rather than implementing a work around using pixels
  2. 3DMeshGeometry does not provide good support for dynamically creating a surface based on points
  3. The Line Primitive functionality given by the ScreenSpaceLines3D object should not have been removed from .NET 3.0's object model
  4. There is currently no way to inherit off a BaseForm in WPF
  5. When customized UserControls are added into XAML, it breaks the WPF designer in Visual Studios
  6. Have a CheckedListBox support Control+A and Control+C
  7. WPF Projects should have an option to package and deploy
  1. 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.
  2. 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.
  3. 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
  4. 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.
  5. 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.
  6. 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.

    These functionalities should be default in Windows Forms
    Figure: Windows Forms should have the same functionality

    See the same suggestion at Microsoft .NET (Windows Forms) suggestions.

  7. 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:

    1. Right click the project
    2. Create Package

    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