Ciao a tutti.
Apro questa discussione sperando che qualcuno sappia darmi una risposta definitiva riguardo l'impostazione della larghezza/altezza automatica in Silverlight 2.0.
Riporto a seguire un pezzo di codice banalissimo che ho scritto. Si tratta di un controllo con una Grid a due righe: una contiene una ListBox e l'altra un pulsante.
Entrambi i controlli utente sono posizionati senza dimensioni fisse, quindi la loro occupazione dovrebbe essere massima all'interno della Grid "padre". La stessa Grid è contenuta all'interno della Grid di Layout con dimensioni automatiche.
Se provate a visualizzare il codice XAML, viene renderizzato tutto come previsto. Putroppo, applicando il tema "ExpressionDark" o un altro qualsiasi dei temi presenti nel Toolkit (Dicembre 2008), la larghezza e altezza dei contenuti va a perdersi. Lo stesso codice con il tema applicato è riportato (commentato) a fondo pagina.
Ho cercato una soluzione sul web, senza successo...
Come è possibile che la semplice applicazione di un tema influisca sul layout generale del controllo?
Chiaramente vorrei utilizzare dimensionamenti automatici per mantenere un layout fluido dell'intero controllo (quindi della pagina in cui sarà mostrato), quindi ho escluso le dimensioni fisse a priori.
Nella speranza che qualche anima pia sappia darmi una soluzione oppure stroncarmi con un "Non c'è niente da fare", ringrazio tutti...
Saluti.
Mauro
<UserControl x:Class="ProgettoProva.PageEditor"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:theming="clr-namespace:Microsoft.Windows.Controls.Theming;assembly=Microsoft.Windows.Controls.Theming"
xmlns:ed="clr-namespace:Microsoft.Windows.Controls.Theming;assembly=Microsoft.Windows.Controls.Theming.ExpressionDark"
mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="600" >
<Grid x:Name="LayoutRoot" Background="White">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ListBox x:Name="listEntities" />
<Button x:Name="button" Grid.Row="1" Content="test" />
</Grid>
</Grid>
</UserControl>
<!-- *** UserControl con tema impostato
<Grid x:Name="LayoutRoot" Background="White">
<ed:ExpressionDarkTheme>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ListBox x:Name="listEntities" />
<Button x:Name="button" Grid.Row="1" Content="test" />
</Grid>
</ed:ExpressionDarkTheme>
</Grid>
-->