|
|
|
@ -40,17 +40,6 @@ placed in a `DataTemplates` collection on each control (and on `Application`): |
|
|
|
<ContentControl Content="{Binding Foo}"/> |
|
|
|
<UserControl> |
|
|
|
|
|
|
|
`ItemsControl`s don't currently have an `ItemTemplate` property: instead just |
|
|
|
place the template for your items into the control's `DataTemplates`, e.g. |
|
|
|
|
|
|
|
<ListBox Items="ItemsSource"> |
|
|
|
<ListBox.DataTemplates> |
|
|
|
<DataTemplate> |
|
|
|
<TextBlock Text="{Binding Caption}"/> |
|
|
|
</DataTemplate> |
|
|
|
</ListBox.DataTemplates> |
|
|
|
</ListBox> |
|
|
|
|
|
|
|
Data templates in Avalonia can also target interfaces and derived classes (which |
|
|
|
cannot be done in WPF) and so the order of `DataTemplate`s can be important: |
|
|
|
`DataTemplate`s within the same collection are evaluated in declaration order |
|
|
|
@ -92,13 +81,8 @@ referred to using the `{StyleResource}` markup extension both inside and outside |
|
|
|
styles. |
|
|
|
|
|
|
|
For non-style-related resources, we suggest defining them in code and referring |
|
|
|
to them in markup using the `{Static}` markup extension. There are [various |
|
|
|
reasons](http://www.codemag.com/article/1501091) for this, but briefly: |
|
|
|
|
|
|
|
- Resources have to be parsed |
|
|
|
- The tree has to be traversed to find them |
|
|
|
- XAML doesn't handle immutable objects |
|
|
|
- XAML syntax can be long-winded compared to C# |
|
|
|
to them in markup using the `{Static}` markup extension. To read more about the reasoning for this, |
|
|
|
see [this issue comment](https://github.com/AvaloniaUI/Avalonia/issues/462#issuecomment-191849723). |
|
|
|
|
|
|
|
## Grid |
|
|
|
|
|
|
|
|