Skip to content

XamlT – a new xaml-centric class browser & xaml utility

June 5, 2007
Check out http://xamlT.com.
I’ve published a new tool called XamlT which may help Silverlight 1.0, Silverlight 1.1, Workflow Foundation (WF) and WPF users who are trying to understand the Xaml Vocabularies that are available.  Beyond that, the tool has a little Xaml -> C# engine that I’ve been working on.
 
I have a few credits in Tools/About… (which I plan to add to)
 
Try it out…

From → XamlT

14 Comments
  1. Unknown permalink

    Hi Rob,
    I know you\’re busy, but I\’d suggest adding a bit more to the page at xamlT.com.  Like a couple of sentences about what the thing does and why that is good.  If it was a partial-trust XBAP I\’d be quicker on the trigger.  But it\’s apparently a full-trust ClickOnce app.  Sounds interesting though.
    Thanks, Alan Cobb

  2. Rob permalink

    Alan-
    Yes, back to a computer now…I\’ve added a few paragraphs on the site…and I\’ve also posted an annotated picture.
    Thx, Rob

  3. Ned permalink

    It sure would be nice to get the source code for this. Lot\’s of nice things to see how you did them e.g. the resizing of the GUI representations of the elements. Can it be as simple as resizing the font which will bubble up through everything and resize the parents as it \’bubbles\’ up. But no that won\’t work because an element\’s size depends on how many elements there are in the right hand side grid.
     
    Also I\’m curious to see how you parse items from reflection to get the designated content, attatched props, etc. for each control.
     
    But a very nice app. I\’m going to be teaching WPF next year and this will be extremely helpful to students.

  4. Rob permalink

    I\’m hoping to release the source in the next few weeks to few months.  Until then, I\’m happy to share snippets of code.
     
    For the resizable representation of each type I used a DataTemplate with a Grid inside, a stack panel inside of that, etc…  I\’ll post that DataTemplate soon.  I believe I might also have had a Viewbox wrapping the Grid…
    The right hand side is a UniformGrid where I determine how many Rows and Columns to use based on how many items and the height/width ratio…that part could be done better.  I likely should start scrolling at some point…
     
    I\’ll also post information about how to get content models, attached properties, etc…
    The quick take:
    Content Model- look for [ContentPropertyAttribute].  Go grab the type of the property name specified.  If that type is a collection, look for ICollection<T> and limit the content allowed to T.
    The collection may have ContentWrapperAttributes on it…these provide wrappers to fit into the appropriate content model…for example InlineCollection has 2 ContentWrapperAttributes…one pointing to Run and one pointing to InlineUIContainer (I think).  You look at the ContentProperty of those to understand which new types are allowed into the content model.
     
    >>But a very nice app. I\’m going to be teaching WPF next year and this will be extremely helpful to students.
    Glad you think so.
    Thanks, Rob

  5. Steven permalink

    Rob.  I like ClickOnce, but it is not always convinient to install when behind a proxy at work, with a strict policy.  Therefore making XamlT available as an exe also would be very helpful.

  6. Ned permalink

    Why has XAMLT suddenly stopped working? I\’ve been using it daily for a week or 2 but today it won\’t start from the start menu nor when I download it. Says Application cannot be restarted. And I can\’t uninstall it either.
     
    MS downloaded a bunch of patches last night could that be the cause?

  7. Rob permalink

    Did you pay your registration fee?

    Just kidding.
    No idea…it is working for me, would love any details about the problem from you or others.
    I installed a bunch of patches on my vista machine as well…no problem for me.
    I\’ll play with uninstalling/installing…
    THank for reporting the problem…

  8. Robert permalink

    I have to go with "bored". ClickOnce doesn\’t go through our proxy either.

  9. Selva Balaji permalink

    A superb tool for class reference.

  10. Unknown permalink

    lotro gold lord of the rings gold lord of the rings online gold lotro gold lord of the rings gold lord of the rings
    online gold Warhammer gold
    Warhammer online gold Warhammer money War gold War money Tabula Rasa Credit lotro gold lord of the rings gold lord of the rings online gold lord of the
    rings online gold lord of the rings
    gold Tabula Rasa Credit World of Warcraft gold PotBS Doubloon Pirates of the
    Burning Sea Doubloon PotBS Gold Pirates of the Burning Sea
    Gold lotro gold lord of the rings gold lord of the rings online gold Tabula Rasa Credit Warhammer gold Warhammer online gold PotBS Doubloon PotBS gold Pirates of the Burning Sea
    gold Pirates of the
    Burning Sea Doubloon

  11. Doug permalink

    I have tried this tool with styles and several other simple code pieces and I keep getting an object not set to an instance of an object error.  What is the scope of the conversion of xaml?
     
    Also:  Pointing to the directory that holds the sample.xaml so that you could add addition files is not very user friendly…can you shed some inight?  how do you change directories in the app?  If you path uri\’s into the top boxes they open a new tab without anything on it?  Is there another version of this?
     
    <Window x:Class="xamlU.Window1"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    Title="xamlU" Height="471" Width="665" WindowState="Maximized">
    <Window.Resources>
    <Style TargetType="{x:Type TabItem}">  <Setter Property="Template">    <Setter.Value>      <ControlTemplate TargetType="{x:Type TabItem}">        <Grid>          <Border             Name="Border"            Background="LightBlue"            BorderBrush="Black"             BorderThickness="1,1,1,1"             CornerRadius="6,6,0,0">              <ContentPresenter x:Name="ContentSite"                VerticalAlignment="Center"                HorizontalAlignment="Center"                ContentSource="Header"                Margin="12,2,12,2"/>          </Border>        </Grid>        <ControlTemplate.Triggers>          <Trigger Property="IsSelected" Value="True">            <Setter TargetName="Border"                     Property="Background" Value="LightBlue" />          </Trigger>          <Trigger Property="IsSelected" Value="False">            <Setter TargetName="Border"                     Property="Background" Value="LightGray" />          </Trigger>        </ControlTemplate.Triggers>      </ControlTemplate>    </Setter.Value>  </Setter></Style>
    </Window.Resources>
       <Grid>    <Grid.RowDefinitions>  <RowDefinition Height="*" />  <RowDefinition Height="*" />    </Grid.RowDefinitions>
     
     
     
     
     
     
       </Grid></Window>

  12. Tring to download XamlT tool … it won’t work … I tried it from several different computers

  13. Philip permalink

    XamlT seems to be missing when I try to run it from XamlT.com

    Would really like to see this tool in action and see if it can help me understand some things.

    Any input on why its not working or if we could get it back would be great!

    Thanks!

    • Philip permalink

      For reference when I click “Run It” I get an error message saying “Cannot download the application. The application is missing required files. Contact application vendor for assistance.”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: