Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Problem mit Stackpanel wenn Orientation = "Horizontal"
cpetit
myCSharp.de - Member



Dabei seit:
Beiträge: 54

Themenstarter:

Problem mit Stackpanel wenn Orientation = "Horizontal"

beantworten | zitieren | melden

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]
private Nachricht | Beiträge des Benutzers
ProGamer
myCSharp.de - Member



Dabei seit:
Beiträge: 660
Herkunft: NRW

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
cpetit
myCSharp.de - Member



Dabei seit:
Beiträge: 54

Themenstarter:

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
ProGamer
myCSharp.de - Member



Dabei seit:
Beiträge: 660
Herkunft: NRW

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers