anakin87
2013-04-22, 09:42:43
Hallo liebe Coder,
ich hab da ein kleines Problem mit XAML & Silverlight...
Beim Bugfixing ist mir ein Template ins Auge gesprungen, dass wie eine verkettete Liste aussiet. Problem dabei ist, dass ich n Datensätze habe die als Baum angezeigt werden sollten.
Es sind 3 Templates definiert und beim 4. Level erscheinen keine Templates mehr sondern nur der Text vom Datentyp.
Ok das hört sich jetzt komisch an... ich zeig mal etwas vom Code her:
<Windows:HierarchicalDataTemplate x:Key="Level1ItemTemplate"
ItemsSource="{Binding Edges}"
ItemTemplate="{StaticResource Level2ItemTemplate}"> <!--Zeigt auf das 2. Template und das dann wieder aufs 3.-->
<Grid MinHeight="50"
MinWidth="50"
Margin="5">
<Border Padding="5"
BorderThickness="1"
BorderBrush="#FFADADAD"
CornerRadius="5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="GreenYellow"
Offset="0" />
<GradientStop Color="Green"
Offset="1" />
</LinearGradientBrush>
</Border.Background>
<RV:NodeVisualization /> <!--Zeigt auf 2. xaml für den Inhalt des Templates-->
</Border>
</Grid>
</Windows:HierarchicalDataTemplate>
<Windows:HierarchicalDataTemplate x:Key="Level2ItemTemplate"
ItemsSource="{Binding Edges}"
ItemTemplate="{StaticResource MainItemTemplate}">
<Grid MinHeight="50"
MinWidth="50"
Margin="5">
<Border Padding="5"
BorderThickness="1"
BorderBrush="#FFADADAD"
CornerRadius="5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="#FFD47E00"
Offset="0" />
<GradientStop Color="#FF563300"
Offset="1" />
</LinearGradientBrush>
</Border.Background>
<RV:NodeVisualization />
</Border>
</Grid>
</Windows:HierarchicalDataTemplate>
<DataTemplate x:Key="MainItemTemplate">
<Grid MinHeight="50"
MinWidth="50"
Margin="5">
<Border Padding="5"
BorderThickness="1"
BorderBrush="DarkGoldenrod"
CornerRadius="5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="Yellow" />
<GradientStop Color="Red"
Offset="1" />
</LinearGradientBrush>
</Border.Background>
<RV:NodeVisualization />
</Border>
</Grid>
</DataTemplate>
Wie kann ich wenn ich beim MainItemTemplate bin wieder auf Level1ItemTemplate springen?? Ich kann nicht glauben dass ich für n - Datensätze auch n Templates "HÄNDISCH" definieren muss, oder doch??
:confused:
Bin für jeden Tipp dankbar... THX
Beste Grüße
ich hab da ein kleines Problem mit XAML & Silverlight...
Beim Bugfixing ist mir ein Template ins Auge gesprungen, dass wie eine verkettete Liste aussiet. Problem dabei ist, dass ich n Datensätze habe die als Baum angezeigt werden sollten.
Es sind 3 Templates definiert und beim 4. Level erscheinen keine Templates mehr sondern nur der Text vom Datentyp.
Ok das hört sich jetzt komisch an... ich zeig mal etwas vom Code her:
<Windows:HierarchicalDataTemplate x:Key="Level1ItemTemplate"
ItemsSource="{Binding Edges}"
ItemTemplate="{StaticResource Level2ItemTemplate}"> <!--Zeigt auf das 2. Template und das dann wieder aufs 3.-->
<Grid MinHeight="50"
MinWidth="50"
Margin="5">
<Border Padding="5"
BorderThickness="1"
BorderBrush="#FFADADAD"
CornerRadius="5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="GreenYellow"
Offset="0" />
<GradientStop Color="Green"
Offset="1" />
</LinearGradientBrush>
</Border.Background>
<RV:NodeVisualization /> <!--Zeigt auf 2. xaml für den Inhalt des Templates-->
</Border>
</Grid>
</Windows:HierarchicalDataTemplate>
<Windows:HierarchicalDataTemplate x:Key="Level2ItemTemplate"
ItemsSource="{Binding Edges}"
ItemTemplate="{StaticResource MainItemTemplate}">
<Grid MinHeight="50"
MinWidth="50"
Margin="5">
<Border Padding="5"
BorderThickness="1"
BorderBrush="#FFADADAD"
CornerRadius="5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="#FFD47E00"
Offset="0" />
<GradientStop Color="#FF563300"
Offset="1" />
</LinearGradientBrush>
</Border.Background>
<RV:NodeVisualization />
</Border>
</Grid>
</Windows:HierarchicalDataTemplate>
<DataTemplate x:Key="MainItemTemplate">
<Grid MinHeight="50"
MinWidth="50"
Margin="5">
<Border Padding="5"
BorderThickness="1"
BorderBrush="DarkGoldenrod"
CornerRadius="5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="Yellow" />
<GradientStop Color="Red"
Offset="1" />
</LinearGradientBrush>
</Border.Background>
<RV:NodeVisualization />
</Border>
</Grid>
</DataTemplate>
Wie kann ich wenn ich beim MainItemTemplate bin wieder auf Level1ItemTemplate springen?? Ich kann nicht glauben dass ich für n - Datensätze auch n Templates "HÄNDISCH" definieren muss, oder doch??
:confused:
Bin für jeden Tipp dankbar... THX
Beste Grüße