Laden...

Problem mit Stackpanel wenn Orientation = "Horizontal"

Erstellt von cpetit vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.225 Views
C
cpetit Themenstarter:in
54 Beiträge seit 2007
vor 13 Jahren
Problem mit Stackpanel wenn Orientation = "Horizontal"

Versuche gerade mein Stackpanel von Vertikal in Horizontal umzustellen aber leider ohne Erfolg. Die Einträge werden trotzdem Vertikal angezeigt obwohl ich Orientation = "Horizontal" zugewiesen habe. Kann mir vielleicht jemand weiter helfen? Den Code habe ich ich hier "http://www.codeproject.com/KB/WPF/InternationalizedWizard.aspx" gefunden und für meine bedürfnisse angepasst.

Code der nix damit zu tun hat habe ich entfernt wegen der Übersichtlichkeit.


[XML]
<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    x:Class="AIS.WizardTeilnahmeModule.WizardTeilnahmeView"
    xmlns:view="clr-namespace:AIS.WizardTeilnahmeModule"
    Height="600" Width="908"
    MinHeight="150" MinWidth="300"
    WindowStartupLocation="CenterScreen"
    Title="Wizard ..." WindowStyle="ToolWindow">
    <Window.Resources>

        <!-- HEADERED CONTENT CONTROL STYLE -->
        <Style TargetType="{x:Type HeaderedContentControl}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type HeaderedContentControl}">
                        <StackPanel Margin="2,0" Orientation="Horizontal" >
                            <Grid Margin="1,1,1,12" RenderTransformOrigin="0.5,0.5">
                                <Grid.Effect>
                                    <DropShadowEffect Opacity="0.1" />
                                </Grid.Effect>
                                <Grid.RenderTransform>
                                    <RotateTransform Angle="-3" />
                                </Grid.RenderTransform>
                            </Grid>
                            <Grid>
                                <Rectangle Fill="{TemplateBinding Background}" />
                                <ContentPresenter ContentSource="Content" />
                            </Grid>
                        </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <!-- WIZARD STEP TEMPLATE -->
        <DataTemplate x:Key="wizardStepTemplate">
            <Border x:Name="bdOuter" Height="28" BorderBrush="{DynamicResource grau80}" CornerRadius="4" Background="{DynamicResource grau20}" BorderThickness="0.5" Margin="2" Opacity="0.6" 
SnapsToDevicePixels="True" >
                <TextBlock x:Name="txt" Margin="4,0,0,0" Text="{Binding Path=DisplayName}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
            </Border>
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding Path=IsCurrentPage}" Value="True">
                    <Setter TargetName="txt" Property="TextBlock.Foreground" Value="{DynamicResource weiss}" />
                    <Setter TargetName="bdOuter" Property="Background" Value="{DynamicResource Orange}" />
                    <Setter TargetName="bdOuter" Property="Opacity" Value="1" />
                </DataTrigger>
            </DataTemplate.Triggers>
        </DataTemplate>
    </Window.Resources>
    <Grid>
        <Grid Name="gridWizard">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="50" />
                <RowDefinition Height="100" />
                <RowDefinition Height="380" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            
            <Grid Name="gridStep" Grid.Column="0" Grid.Row="1">
                <!--<Border>-->
                    <!-- WIZARD STEP LISTING -->
                    <HeaderedContentControl Margin="10">
                        <ItemsControl ItemsSource="{Binding Path=Pages}" ItemTemplate="{StaticResource wizardStepTemplate}" Width="300"/>
                    </HeaderedContentControl>
                <!--</Border>-->
            </Grid>     
        </Grid>
    </Grid>
</Window>

[/XML]

P
660 Beiträge seit 2008
vor 13 Jahren

Ich würde mal behaupten dass die Ausrichtung vom Grid aus kommt
Versuch doch mal die RowDefinitions in ColumnDefinitons zu ändern und dort wo es verwendet wird auch (also aus Grid.Row="X" --> Grid.Column="X")

MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden! *"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht." *"Ignorance simplifies ANY problem." *"Stoppt die Piraterie der Musikindustrie"

C
cpetit Themenstarter:in
54 Beiträge seit 2007
vor 13 Jahren

Nein. daran hängt es nicht.

Die anderen Rows sind für die anderen Controls gedacht die ich hier aus dem Code raus genommen habe.

Hat vielleicht noch jemand einen Tipp?

P
660 Beiträge seit 2008
vor 13 Jahren

Also ich denke mal dass es hiermit was zu tun hat

<ItemsControl ItemsSource="{Binding Path=Pages}" ItemTemplate="{StaticResource wizardStepTemplate}" Width="300"/>

Versuch das ItemsPanel anzupassen:

 
<ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"  VerticalAlignment="Top" />
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>

MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden! *"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht." *"Ignorance simplifies ANY problem." *"Stoppt die Piraterie der Musikindustrie"