Expression > Форумы > Expression Blend + SketchFlow > Blend - Is it really this dumb about implicit styles and resources ? Blend 2 SP1 - ???
Задайте вопросЗадайте вопрос
 

Общие обсужденияBlend - Is it really this dumb about implicit styles and resources ? Blend 2 SP1 - ???

  • 17 января 2009 г. 21:21puffy_iShip Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     

    Hi:

    I recently purchased the Expression suite with VSS 2008 because of the 50% reduction in the price.  My impression so far is that for doing routine WPF user interface work Blend  is deeply flawed in how it deals with implicit styles and Resource Dictionaries .   The design around simple primary use cases lacks basic common sense usage support.

    Here are a couple of my pet peeves ( so far ):

    a.) I get projects to compile in VS but they will not compile in Blend ?  Once you get past the most superficial integration between VS and Blend you start running into problems.  It's very disconcerting to be able to build something in VS and switch to Blend but it won't compile the same project you just built using VS.  How can that possibly fit into the developer work flow ?

    b.) I won't mention that if I have designer support in VS that they will not work in Blend ( oh I just did - oh well Blend is 2.0 ( charitable characterization )

    c.) Blend seems to have basic problems with implicit styles.  Now I hope someone is going to say wait a minute read the manual here is how to do this.  In any but the most trivial example projects you are going to have assemblies with custom controls.  If you have custom controls you are going to have Resource Dictionaries and themes.  

    The problem as we all know is Blend doesn't see the styles for the custom controls ???  If you make a custom Button you are going to have an implicit style in a Resource Dictionary in the controls assembly.  Check.  So if I am using a custom control in a view of my application I can't see the template that it is using ?  So if it doesn't look right and I want to take a look at the custom controls template I can't do that in Blend.   I just don't see how if you did a custom control that you would want to make the users of that control make an explicit style reference to the controls template.   It just doesn't make any sense. 

    Are you kidding me ? Did I just pay for this program ?  Given that custom controls is one of the biggest features of WPF and the chance of building any non-trivial application without having assemblies that contain various custom controls is so remote.  I just don't  see how making the resources/styles/templates OPAQUE because they are in an external Resource Dictionary could possibly help a developer ??? What am I missing here ??  That doesn't make any sense to me ?  Anyone ? It's like HUH ??? What ? 

    As a developer I'm writing custom controls and I am putting those controls into assemblies.  I have themes and Resource Dictionaries that is the guidance and I"m following it.   It shocks me that Blend does not support the primary use case.  What I want out of Blend is NAVIGATION of objects and their Resources and I can see the Blend tries to provide that ( for the simple case of a trivial app that has everything in a single assembly - DOH )

    Now I know everyone is going say - Yes you can see the resources of your custom control just MAKE A COPY.  Why would I want to make a copy just to inspect a controls style ?  I just want to look at the template.  I can make a copy every single time I just want to navigate through my app and check on something.  Make a copy so I can SEE A CONTROLS TEMPLATE - THEN DELETE IT - OK REPEAT EVERY TIME I WANT TO LOOK AT SOMETHING IN ANOTHER ASSEMBLY ? Is this some kind of joke ? 

    Here is an example make a WPF Control project.  Make a custom Button , add a dependency property or two, give it a control template.  Now you are still in the same WPF Control project in Blend make a UserControl and add your custom button to the UserControl you just made.   There is no way to inspect the custom buttons control template in the Design View of Blend without making a copy of it.  I don't want to make a copy of the template ?  Why would I want to do that ?  I easily might want to just inspect the control template to see what I have .    Imagine a large application with dozens of custom WPF controls.  You are going to constantly be wanting to navigate which means inspecting the templates - without making a copy.

    I think this behavior is due to implicit styles which is what you are going to have with custom controls.  It's not an outlier as near as I can tell an implicit style on a custom control IS the primary use case.  So for instance when I have my custom control assembly open in Blend and say I"m using those controls in a UserControl that is also in my custom control assembly I don't want to edit a COPY - in that use case I want to edit the controls template.  I AM IN THE CONTROL ASSEMBLY - why would I want to edit a copy in that case ? ? 

    The only thing I can think of is since it's an implicit style there is some weird behavior where Blend doesn't want to work on the style for your control.  I know I can edit the copuy and then replace the original - that's not the point here.

    Let's say I get some control library from a developer.  With Blend ther is a fundamental disconnect in that when I use the custom control I can't see it's template.  I can't navigate to the custom controls template without making a copy of it.  I guess I should just shutup and get used to the fact that everytime I want to look at a controls style I have to make a copy - just make a junk ResourceDictionary just for browsing the code. 

      Let's say it's my own control library since I have the sources and the project loaded into Blend to inspect any of the templates for instance of my custom controls in design view ( the Bread Crumb or the Objects->Edit Style ) I have to make a copy ??? I can't just navigate to the custom controls template  without making a copy ???

    Am I wrong about this ?   One more time I can't just inspect the template for my custom control without making a copy of it ???????????

    I"m surprised by that - that is hard to use - counter intuitive.  Control authoring is a pretty big deal in WPF and I buy expression and I have nothing but trouble building projects in studio that won't build in Blend and then navigating around my control library in Blend I can't see any of the templates unless I make copies of them.

    Am I just nit-picking this - or is Blend just nor ready for any serious application development ????

    Sorry for the rant... ( There are quite a few things I like about Blend and after all I did buy it - but you can count me as SORELY DISAPPOINTED at how usable it actually is to help our company get anything done on a large application project )





     


    iShip Software Architect

Все ответы