Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# StackPanel内的StackPanel对齐不正确_C#_Wpf_Stackpanel - Fatal编程技术网

C# StackPanel内的StackPanel对齐不正确

C# StackPanel内的StackPanel对齐不正确,c#,wpf,stackpanel,C#,Wpf,Stackpanel,我有一个StackPanel,其中包含子StackPanel(在代码隐藏中添加) 父堆栈面板 <StackPanel Name="spDaysWeather" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" Grid.Row="3" Orientation="Horizontal"> </StackPanel> 子堆叠面板 for (int i=1;i<

我有一个StackPanel,其中包含子StackPanel(在代码隐藏中添加)

父堆栈面板

    <StackPanel Name="spDaysWeather"  Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" Grid.Row="3" Orientation="Horizontal">



    </StackPanel>

子堆叠面板

for (int i=1;i<WeatherList.Count;i++)
        {
            StackPanel StackPanelDay = new StackPanel { Orientation =Orientation.Vertical, VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment= HorizontalAlignment.Stretch};
            Label day = new Label { Content = WeatherList[i].weatherdate.DayOfWeek, FontSize = 10 };
            System.Windows.Controls.Image imgweather = new System.Windows.Controls.Image { Source = ReturnCultureImage(String.Format("weather_{0}", WeatherList[i].condition.ToLower().Replace(" ", "_"))), Width = 75, Height = 75};

            StackPanelDay.Children.Add(day);
            StackPanelDay.Children.Add(imgweather);
            spDaysWeather.Children.Add(StackPanelDay);

        }

for(int i=1;i将父StackPanel置于网格中,并将StackPanel的水平对齐方式更改为居中

XAML:

<Grid Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="3">
  <StackPanel Name="spDaysWeather" HorizontalAlignment="Center" Orientation="Horizontal">
  </StackPanel>
</Grid>
<StackPanel Name="spDaysWeather" 
            Grid.Column="0"
            Grid.ColumnSpan="2"
            HorizontalAlignment="Center"
            Grid.Row="3" 
            Orientation="Horizontal"/>

如果仅将StackPanel的水平对齐设置为“中心”,则该选项也会起作用

XAML:

<Grid Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="3">
  <StackPanel Name="spDaysWeather" HorizontalAlignment="Center" Orientation="Horizontal">
  </StackPanel>
</Grid>
<StackPanel Name="spDaysWeather" 
            Grid.Column="0"
            Grid.ColumnSpan="2"
            HorizontalAlignment="Center"
            Grid.Row="3" 
            Orientation="Horizontal"/>

您第一次尝试HorizontalAlignment=“Center”了吗?